如何将自定义方法添加到我的资产中,例如像Rails一样使用'asset_path'帮助程序的css文件?
有了Rail自己的助手,我可以这样写:
# some.css.erb:
<%= asset_path 'a_image.png' %>
# How can I write this:
<%= my_custom_method 'a_image.png' %>
我尝试了很多方法,但找不到合适的方法。你知道吗?
由于
答案 0 :(得分:18)
我发现最好的方法是在app / helpers中创建一个自定义助手模块:
module AssetsHelper
def my_custom_helper_method
# do something
end
end
然后在application.rb中,在应用程序配置之后(非常底部)要求它:
module Sprockets::Helpers::RailsHelper
require Rails.root.join('app', 'helpers', 'assets_helper.rb')
include AssetsHelper
end
您可以按照此问题找到更好的方法:https://github.com/rails/rails/issues/3282
答案 1 :(得分:0)
资产视图中没有正常的帮助方法。要添加自己的方法,您需要扩展Sprockets帮助程序模块。拥有look at the code内置帮助程序,以了解如何执行此操作。
简而言之,您可以在lib中添加一个与此结构相同的文件,并添加自己的方法。不要忘记在您的应用程序初始化程序中包含新库。