Rails - 在image_tag中插入变量

时间:2011-02-27 18:54:48

标签: ruby-on-rails ruby-on-rails-3

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

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

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

想法?

2 个答案:

答案 0 :(得分:7)

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

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

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

要回答评论中的问题,要将字符串标记为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}"

答案 1 :(得分:3)

使用双引号,单引号内没有变量处理。