Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 字符串中的变量未被替换?_Ruby On Rails_Ruby_String - Fatal编程技术网

Ruby on rails 字符串中的变量未被替换?

Ruby on rails 字符串中的变量未被替换?,ruby-on-rails,ruby,string,Ruby On Rails,Ruby,String,我希望我的图像是状态的名称(例如“ok.png”) 我试过: link_to '<img src="images/#{refactoredStatus}.png">'.html_safe, '#', :class => 'option show_status' link_至'.html_-safe'.#',:class=>'选项显示_状态' 但这确实在我的HTML中显示了images/#{refacturedstatus}.png 我该怎么做?试试: link_to ima

我希望我的图像是状态的名称(例如“ok.png”)

我试过:

link_to '<img src="images/#{refactoredStatus}.png">'.html_safe, '#', :class => 'option show_status'
link_至'.html_-safe'.#',:class=>'选项显示_状态'
但这确实在我的HTML中显示了
images/#{refacturedstatus}.png

我该怎么做?

试试:

link_to image_tag("#{refactoredStatus}.png"), '#', :class => 'option show_status'
这将使用Rails
image\u标记
helper

编辑:

如果设置为使用HTML而不是
image\u标记
helper,则可以执行以下操作:

link_to "<img src=\"images/#{refactoredStatus}.png\">".html_safe, '#', :class => 'option show_status'
link_to”“.html_safe”“#”“,:class=>“选项显示_状态”
或者这个:

link_to %{<img src="images/#{refactoredStatus}.png">}.html_safe, '#', :class => 'option show_status'
link_to%{}.html_safe,,:class=>“选项显示_状态”

我个人更喜欢最后一种解决方案,因为您不必转义引号。

Ruby将其作为字符串读取。正确的方法是使用图像标记,因此:

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


提示:
“单引号文本中的字符串”
“双引号文本中的字符串”
有何不同?请参阅一些。虽然这确实显示了
image\u-tag
的用法,但它并没有说明如何插值变量。虽然这确实使用了image\u-tag帮助器,这很好,但这并不是“解决”问题的更改。