Add custom methods to Rails 3.1 asset pipeline?

后端 未结 2 2011
长发绾君心
长发绾君心 2020-12-17 20:07

How can I add my custom methods to my assets such as css files like Rails did with \'asset_path\' helper?

With Rail\'s own helper, I can write this:

         


        
相关标签:
2条回答
  • 2020-12-17 20:26

    The best way I found was to create a custom helper module in app/helpers:

    module AssetsHelper
      def my_custom_helper_method
        # do something  
      end
    end
    

    And then to require it like this in application.rb, after your applications configuration (very bottom):

    module Sprockets::Helpers::RailsHelper
      require Rails.root.join('app', 'helpers', 'assets_helper.rb')
      include AssetsHelper
    end
    

    And you might follow this issue to find a better way: https://github.com/rails/rails/issues/3282

    0 讨论(0)
  • 2020-12-17 20:34

    Normal helper methods are not available in asset views. To add you own methods you'll need to extend the Sprockets helper module. Have a look at the code of the built-in helpers to see how you might do this.

    In a nutshell you can add a file in lib with the same structure as this and add you own methods. Don't forget to include the new library in you application initializer.

    0 讨论(0)
提交回复
热议问题