2010-06-24 13 views

Odpowiedz

2

<%= @body %> wyprowadziłby trochę html, gdybyś miał html w @body. To trochę dziwne, że HTML ma tę zmienną, ponieważ kontroler nie powinien przekazywać żadnego HTML (kontroler musi być agnostyczny).

Oto dlaczego mamy kilka metod pomocniczych. Wykonaj metodę pomocniczą, która generuje trochę html i użyj go w widoku.

+0

Doh! Używałem <%=h %>. Rozumiem, że pogląd jest agnostyczny, jest to po prostu dziwna sytuacja, w której przesyłam e-mail w formacie HTML do wyświetlenia. Dzięki! – Stirman

+0

h() ucieknie z twojego html :) –

9

Odpowiedź jest nieprawdziwa. Szyny 3 automatycznie ucieka html dla Ciebie, więc jeśli masz w kontrolerze:

@error = "<h1>OMG u broke teh intertubez!!111</h1>" 

Ta wola wyjścia HTML bez ucieczki:

<%= raw @error %> 

i obaj to ujdzie HTML:

<%= h @error %> 
<%= @error %> 
Powiązane problemy