2011-02-27 58 views
1

我试图创建一个动态的image_tag url。这是我有什么Rails - 在image_tag中插入变量

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

但它不与实际变量渲染,它的渲染完全如上。

想法?

回答

2

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

6

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

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

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

要回答一个问题的评论,标记字符串为HTML安全的,这意味着HTML特殊字符不应该逃脱,您可以使用原始或html_safe功能:

"#{::Rails.root.to_s}/member.gif?id=#{@member.id}".html_safe 
raw "#{::Rails.root.to_s}/member.gif?id=#{@member.id}" 
+0

谢谢!任何想法为什么&呈现为&而不是&? – TheExit 2011-02-27 19:00:06

+1

嗨,我即将回答你应该使用“我的字符串”.html_safe标记您的字符串为安全的HTML,但我没有看到代码中的&符号。 – 2011-02-27 19:02:54

+0

我已经更新了我的代码,并提供了一个使字符串HTML安全的示例。 – 2011-02-27 19:04:34