link_to(image_tag(“icons /#{icon_name} .png”),url_or_object,options)我尝试使用它,但当我进入项目时,我看到它就像这样http://prntscr.com/329yzz我可以看到图片请帮助我,我也是Ruby的初学者 请帮帮我
答案 0 :(得分:0)
link_to
需要一个可选块,如果你需要比文本更复杂的东西:
link_to url_or_object, options do
image_tag("icons/#{icon_name}.png")
end
由于在视图中使用了这些方法,link_to
正在使用capture
来评估块。因此它可以像:
<%= link_to url_or_object, options do %>
<div class='wrapper'>
<label>Some text</label>
<%= image_tag("icons/#{icon_name}.png") %>
</div>
<% end %>
答案 1 :(得分:0)
您正在获取原始html输出。
使用html_safe
,如下所示:
修改强>
根据OP的评论,html_safe
方法中需要project_title_links
将从link_to_icon
返回的链接转换为HTML安全字符串(DOM ready):
def link_to_icon(icon_name, url_or_object,options={})
link_to(image_tag("icons/#{icon_name}.png", ),url_or_object,options)
end
def project_title_links(project)
content_tag :h1 do [project.title, link_to_icon('show',project) ].join(' ').html_safe end
end