【发布时间】:2016-10-04 03:17:00
【问题描述】:
我在 ActionView 表单构建器中添加了一个language_select 方法:
# app/helpers/form_helper.rb
class ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
include ActionView::Helpers::FormTagHelper
include ActionView::Helpers::FormOptionsHelper
include ActionView::Helpers::AssetTagHelper
def language_select(method, options = {})
image_tag("language-flags/16/en.png")
end
end
问题是image_tag 向/images/language-flags/16/en.png 返回一个不存在的图像。我在app/assets/images/language-flags/16/fr.png 中有一张图片,但它没有通过 Sprockets 中间件提供。其他任何地方 image_tag 都可以正常工作。
查看 Rails 的源代码后,这似乎是 image_tag 的标准行为,更准确地说,asset_path 并且 Sprockets 实际上修改了此行为以包含例如文件摘要。看来asset_path 的这种修改在此上下文中不可用。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 sprockets