向Rails 3.1资产管道添加自定义方法?

Ina*_*mus 10 ruby-on-rails-3 asset-pipeline

如何将我的自定义方法添加到我的资产中,例如像Rails一样使用'asset_path'帮助程序的css文件?

有了Rail自己的助手,我可以这样写:

# some.css.erb:

<%= asset_path 'a_image.png' %>

# How can I write this:

<%= my_custom_method 'a_image.png' %>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多方法但是找不到合适的方法.你知道吗?

谢谢

Chr*_*ris 18

我发现的最好方法是在app/helpers中创建一个自定义助手模块:

module AssetsHelper
  def my_custom_helper_method
    # do something  
  end
end
Run Code Online (Sandbox Code Playgroud)

然后在application.rb中,在应用程序配置之后(非常底部)要求它:

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

您可以按照此问题找到更好的方法:https://github.com/rails/rails/issues/3282