字符串中的变量没有被替换?

时间:2013-12-29 21:48:06

标签: ruby-on-rails ruby string

我希望我的图像成为状态'name(例如“ok.png”)。

我试过了:

link_to '<img src="images/#{refactoredStatus}.png">'.html_safe, '#', :class => 'option show_status'

但是我的HTML中显示images/#{refactoredStatus}.png

我该怎么做?

2 个答案:

答案 0 :(得分:1)

尝试:

link_to image_tag("#{refactoredStatus}.png"), '#', :class => 'option show_status'

这改为使用Rails image_tag帮助程序。

修改

如果你开始使用HTML而不是image_tag助手,那么你可以这样做:

link_to "<img src=\"images/#{refactoredStatus}.png\">".html_safe, '#', :class => 'option show_status'

或者这个:

link_to %{<img src="images/#{refactoredStatus}.png">}.html_safe, '#', :class => 'option show_status'

我个人更喜欢最后一个解决方案,因为你不必逃避引号。

答案 1 :(得分:-1)

Ruby正在将其作为字符串读取。正确的方法是使用image标签,所以:

<%= link_to image_tag('foobar.png'), '#' %>

http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-image_tag