Rails - 在image_tag中插入变量

The*_*xit 2 ruby-on-rails ruby-on-rails-3

我正在尝试创建一个动态的image_tag网址.这就是我所拥有的

<%= image_tag('#{::Rails.root.to_s}/member.gif?id=#{@member.id}&d=#{@dog,id}') %>
Run Code Online (Sandbox Code Playgroud)

但它不是用实际变量渲染的,它的渲染完全如上所述.

想法?

Pan*_*kos 7

问题是你使用的是单引号.试试这个:

<%= image_tag("#{::Rails.root.to_s}/member.gif?id=#{@member.id}") %>
Run Code Online (Sandbox Code Playgroud)

#{}运算符不会在单引号字符串中执行.

要回答评论中的问题,要将字符串标记为html安全,意味着不应转义HTML特殊字符,您可以使用raw或html_safe函数:

"#{::Rails.root.to_s}/member.gif?id=#{@member.id}".html_safe
raw "#{::Rails.root.to_s}/member.gif?id=#{@member.id}"
Run Code Online (Sandbox Code Playgroud)