I think I've narrowed down the problem. For some reason this block isn't executed when I run rake assets:precompile:

https://github.com/rails/sprockets-rails/blob/master/lib/sprockets/railtie.rb#L86

ActiveSupport.on_load(:action_view) do...

Maybe that's because I have a class under "lib" that relies on ActionView::Helpers::NumberHelper, and then I require 'action_view'. So, when the hook is registered 'action_view' might already be loaded and the event won't be triggered. Just guessing of course as I couldn't find any documentation about how that on_load method works.

Then I've written something like this to fix the assets precompilation for my application:

def fix_asset_precompiling
    config = Rails.application.config
    Rails.application.assets.context_class.tap do |c|
      c.assets_prefix = config.assets.prefix
      c.digest_assets = config.assets.digest
      c.config = config.action_controller
    end
 end

I'm not sending a pull request because I'm not sure what is the proper way of fixing it. But I can tell you that if you replace the line above with "begin" it works.

 -   ActiveSupport.on_load(:action_view) do
+ begin

But I don't know what is the reason for the on_load hook, so I won't change anything. I'd just like to let you know about this problem. This is a new bug and doesn't exist on Rails 3.

Best,
Rodrigo.

Em 26-02-2013 22:04, Rodrigo Rosenfeld Rosas escreveu:
Running "rake assets:clobber assets:precompile" will generate files like "application-xxx.css" with incorrect urls after upgrading to Rails 4.

For example url(/fields/xxx.png) when it should be url(/assets/fields/xxx.png). For some unknown reason it worked once in development mode, but after running rake assets:clobber I can't get it to work again...

Any ideas why image-url(fields/sprite.gif) is generating url(/fields/sprite.gif) instead of url(/assets/fields/sprite.gif)?

It happens both in my staging server (running 1.9.3) and in my dev machine (Ruby 2.0.0-p1).

I'm stuck with this enigma.

Any help is greatly appreciated.

Thanks in advance,
Rodrigo.


--
You received this message because you are subscribed to the Google Groups "Ruby on 
Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to