2012-10-13 16 views
1

在.to_sentence方法中,如何讓last_word_connector輸出HTML字符串?Ruby .to_sentence

例如:

locations.to_sentence last_word_connector: '<br />' 

我想<br />實際進行解釋。我試過在最後加入.html_safe但無濟於事。

+0

不知道我明白你在問什麼。 ''「a」,「b」,「c」] to_sentence(last_word_connector:'
')'產生''a,b
c「',這是html的有效字符串。你想要它產生什麼? – pje

+0

我想要
被解釋,而不是實際輸出在頁面上。例如,如果我將連接器設置爲HELLO。輸出結果將是粗體字HELLO,而不是在頁面上寫出的'HELLO',因爲這很愚蠢。 – rctneil

+0

@Flambino - 現在就這樣做,在評論發佈的問題上我做了什麼,沒有完整的答案,應該留在那裏?或沒有答案的那種需要關閉,並完成? – rctneil

回答

3

你需要告訴認爲,字符串是「安全的」插入(即它應該被插入作爲 - 是 - 沒有逃過):

<%= locations.to_sentence(last_word_connector: '<br />').html_safe %> 

html_safe方法返回一個被標記的字符串就像html一樣安全。所以它不會逃脫。

請謹慎使用。 Rails默認轉義字符串的原因是它使得html和javascript注入嘗試無害。因此,如果您不完全確定locations的內容,請小心。

+0

完美!謝謝 – rctneil