Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 图像\标记在ActionView FormBuilder帮助程序中不起作用_Ruby On Rails_Ruby On Rails 4_Sprockets - Fatal编程技术网

Ruby on rails 图像\标记在ActionView FormBuilder帮助程序中不起作用

Ruby on rails 图像\标记在ActionView FormBuilder帮助程序中不起作用,ruby-on-rails,ruby-on-rails-4,sprockets,Ruby On Rails,Ruby On Rails 4,Sprockets,我在ActionView表单生成器中添加了一个语言\u select方法: # app/helpers/form_helper.rb class ActionView::Helpers::FormBuilder include ActionView::Helpers::TagHelper include ActionView::Helpers::FormTagHelper include ActionView::Helpers::FormOptionsHelper include

我在ActionView表单生成器中添加了一个
语言\u 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\u标记
将图像返回到不存在的
/images/language flags/16/en.png
。我在app/assets/images/language flags/16/fr.png中确实有一个图像,但它没有通过链轮中间件提供服务。其他地方的
image\u标签
工作正常


在查看Rails的源代码之后,这似乎是
image\u tag
的标准行为,更准确地说是
asset\u path
,链轮实际上修改了此行为,以包括例如文件摘要。这种对
资产路径的修改似乎在此上下文中不可用。

解决方案是在表单生成器的上下文中调用
@template
属性上的视图帮助程序(如
图像标记

def language_select(method, options = {}) 
  @template.image_tag("language-flags/16/en.png")
end