1

I have a Rails 3.2 app, in development environment all is ok, while in production (passenger/apache2) I have strange problems with javascript.

My gemfile is:

 source 'https://rubygems.org'
 gem 'rails', '3.2.13'
 gem 'sqlite3',   :platforms => [:ruby]
 gem 'debugger',  :platforms => [:ruby]
 gem 'execjs', :platforms => [:ruby]
 gem 'therubyracer', :platforms => [:ruby]
 gem 'tiny_tds',   :platforms => [:mingw, :ruby]
 gem 'activerecord-sqlserver-adapter',   :platforms => [:mingw, :ruby]
 gem 'activerecord-jdbcmssql-adapter',   :platforms => [:jruby]
 gem 'jruby-openssl',   :platforms => [:jruby]
 gem 'ruby-debug',   :platforms => [:jruby]
 gem 'ruby-debug19',   :platforms => [:mingw]

 group :assets do
   gem 'sass-rails',   '~> 3.2.3'
   gem 'coffee-rails', '~> 3.2.1'
   gem 'therubyrhino'
   gem 'uglifier', '>= 1.0.3'
 end

 gem 'jquery-rails', '~> 2.2.1'
 gem 'jquery_mobile_rails'
 gem 'mobylette', '3.4.1'
 gem 'json'
 gem 'devise', '2.2.4'
 gem 'savon',   '~> 1.2.0'
 gem 'paperclip', '~> 3.0'
 gem 'prawn'
 gem 'capistrano'

Files in app/assets are

app
  assets
     javascript
        application.js
        myscripts.js

and application.js is

//= require jquery
//= require jquery_ujs
//= require jquery.mobile
//= require_directory .

Development environment loads

jquery.js          (version 1.9.1, 9598 lines)
jquery.mobile.js   (version 1.3.0, 11093 lines)
jquery_ujs.js      (                 393 lines)

Production enviroment, js files are copied into application.js in this order:

 line     1 to  9598:  jquery.js         version 1.9.1
 line  9599 to  9627:  jquery mobile version 1.4.5  - only 28 lines of code
 line  9628 to 10338:  jquery ui core
 line 10339 to 25053:  other functions
 line 25054 to 25446:  jquery ujs

Why do I have two different jquery mobile versions in devel and prod? Devel works, production does not. How can I check what rake assets:precompile --trace RAILS_ENV=production should do and what it really does?

kranz
  • 599
  • 1
  • 6
  • 23

0 Answers0