Rails3: jquery-rails gem sets ''config.action_view.javascript_expansions'' but cannot be overriden in ''config/application.rb''

Christiaan Van den Poel
2010-09-09T21:01:11Z

Hello,

I''ve created a new Rails3 app and I''m using jQuery instead of
prototype.

Gemfile:
gem ''jquery-rails''

in my config/application.rb I want do the following:

config/application.rb
if Rails.env.production?
     config.action_view.javascript_expansions[:defaults] = %w(jquery.min
rails application)
else
     config.action_view.javascript_expansions[:defaults] = %w(jquery rails
application)
end

So in production I want to include jquery.min whereas in development I want
the unminified (jquery).

But this seems not to work and when I look at the jquery-rails railtie, I
see the following code:

module Jquery

  module Rails

    class Railtie < ::Rails::Railtie

      config.before_initialize do

        if
::Rails.root.join("public/javascripts/jquery-ui.min.js").exist?

          config.action_view.javascript_expansions[:defaults] %w(jquery.min
jquery-ui.min rails)

        else

          config.action_view.javascript_expansions[:defaults] %w(jquery.min
rails)

        end

      end

    end

  end

end


This sets the config.action_view.javascript_expansions[:defaults] to
always use jquery.min.  So it seems to me that the code from my app
(config/application.rb) isn''t applied. Although this should be
possible to do.


Is this expected behavior? Shouldn''t it be possible to override the
expansions in your own application?


TIA


C+++