Mam zmienną zależności przechodzę do widoku, @body
.Jak renderować HTML ze zmiennej instancji Rails?
@body
to ciąg znaków z html.
<%= @body %>
renderuje ciąg, a nie html. Jak wyrenderować html w ciągu znaków?
Możliwe?
Z góry dziękuję!
Mam zmienną zależności przechodzę do widoku, @body
.Jak renderować HTML ze zmiennej instancji Rails?
@body
to ciąg znaków z html.
<%= @body %>
renderuje ciąg, a nie html. Jak wyrenderować html w ciągu znaków?
Możliwe?
Z góry dziękuję!
<%= @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.
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 %>
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
h() ucieknie z twojego html :) –