Search code examples
jqueryruby-on-rails-3production

Rails: Javascript not working in Production


So far here's what I've done.

  1. I loaded assets in the Capfile: js still not working http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

  2. I moved coffee-rails from the assets to the main section: still not working

    gem 'coffee-rails', '~> 3.2.1'

    group :assets do gem 'sass-rails', '~> 3.2.3' end

UPDATE: Production Environment

SolidAdmin::Application.configure do # Settings specified here will take precedence over those in config/application.rb

  # Code is not reloaded between requests
  config.cache_classes = true

  # Full error reports are disabled and caching is turned on
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  Paperclip.options[:command_path] = "/usr/bin/"
  # Disable Rails's static asset server (Apache or nginx will already do this)
  config.serve_static_assets = false

  # Compress JavaScripts and CSS
  config.assets.compress = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false

  # Compress JavaScripts and CSS
  config.assets.compress = true

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false

  # Generate digests for assets URLs
  config.assets.digest = true

  # Defaults to nil and saved in location specified by config.assets.prefix
  # config.assets.manifest = YOUR_PATH

  # Specifies the header that your server uses for sending files
  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  # config.force_ssl = true

  # See everything in the log (default is :info)
  # config.log_level = :debug

  # Prepend all log lines with the following tags
  # config.log_tags = [ :subdomain, :uuid ]

  # Use a different logger for distributed setups
  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
  # the I18n.default_locale when a translation can not be found)
  config.i18n.fallbacks = true

  # Send deprecation notices to registered listeners
  config.active_support.deprecation = :notify

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
  # config.active_record.auto_explain_threshold_in_seconds = 0.5
end

Everything else is pretty much default/commented out


Solution

  • EDIT: After talking over chat, it was a problem about including jquery twice in the page.

    After checking your page (liquid-radio.com), I have seen a great error imo:

    <!DOCTYPE html>
    <html>
    <head>
      <title>liquid.radio</title>
      <link href="/assets/application-c9ed21e2be2e7bb9955d6a0d89357d16.css" media="all" rel="stylesheet" type="text/css" />
      <script src="/assets/application-09500810259983928e0b1b4d46b49071.js" type="text/javascript"></script>
      <meta content="authenticity_token" name="csrf-param" />
    <meta content="MYdcXuDSzYg1qSHrRwx0y0VK5VmqhWmLLGiYSOX7pOI=" name="csrf-token" />
    </head>
    <body style="background: #FFF;">
    
    <!DOCTYPE html>
    <html>
        <head>
    

    You have the first part repeated a couple of times, rendering your html invalid.