2017-08-16 71 views
0

我想給的link_to ERB標籤內插入HTML標籤<BR>如下顯示:導軌 - 視圖模板 - 插入<BR>內ERB標籤

<%= link_to((@Name + "<BR>" + @Surname), my_action_path %> 

什麼是這樣做的正確方法是什麼?

+1

'link_to'也需要一個塊,這意味着你在如何格式化事物方面擁有更多的自由度。 – tadman

回答

2
<%= link_to(raw(@Name+"<br>"[email protected]) , my_action_path) %> 

可以實現通過軌道提供了這個用「原始」功能。

+1

如果字符串可能爲零,則只需使用'raw'。在這種情況下,我們知道輸入,所以'html_safe'很好。我並不是說'生'是錯的 - 它仍然有效 - 只是指出兩種方法之間的基本差異。 – MarsAtomic

2
(@Name + "<BR>" + @Surname).html_safe 
0

由於@Name@Surname看起來他們可能是用戶輸入的,你要小心,這裏...

<% @name = "<script>alert('bad');</script>First Name" 
    @surname = "<script>alert('another bad');</script>Last Name" %> 

<%= link_to(("".html_safe + @name + "<br />".html_safe + @surname), '#') %> 

與任何其他的答案,試圖給你留下2警報(這意味着你現在有一個XSS漏洞)...這種方式輸出腳本標記爲文本