Mam problem z użyciem niestandardowej metody pomocnika w mojej aplikacji Rails (3.0) do wyprowadzenia wymaganego html.Railsy Wyświetl pomocnik nie wstawiający HTML do strony
mam następujące wywołanie w moim częściowym widokiem: _label.html.erb
<% display_resource "Diamond", @resource.diamond %>
iw pliku resource_helper.rb:
module ResourceHelper
def display_resource(display_name, value)
"<tr><td>#{display_name} </td><td>#{value.to_s}%</td></tr>" if value > 0
end
end
Zamierzony wyjściowy:
<tr>
<td>Diamond</td>
<td>15%</td>
<tr>
* przyznano, bez formatowania, a 15 jest arbitralne
Jeśli użyję <% = ...%> podczas wykonywania wywołania metody, to wypisze ciąg poprawnie, ale nie będzie to html (tzn. Zobaczę "<tr><td>Diamond </td><td>15%</td></tr>"
w przeciwieństwie do "Diament 15" % ")
Co robię nieprawidłowo?
Głównym powodem, dlaczego nie jest to druk ponieważ używasz '<% %> zamiast' 'z' <%= %> – klew
Gdybym użył <%=...%>, wyprowadziłby ciąg, ale byłby to rzeczywisty ciąg (jak to jest domyślne zachowanie szyn teraz - aby zapobiec XSS i innym rodzajom luk w zabezpieczeniach, które mogłyby powstać) – MunkiPhD