2011-02-27 96 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