¿Qué hace < % = = % > en rails erb?
Vi esto recientemente, pensé que era interesante. Pero realmente no entiendo lo que hace?
Ex. Tengo una aplicación rails y quiero arrancar algo de json, para no tener que hacer una segunda solicitud. Normalmente escribiría algo como esto.
<%= raw @model.to_json %>
o
<%= @model.to_json.html_safe %>
Tengo que enviar el mensaje raw
o html_safe
o el json será html escapado y por lo tanto no analizado correctamente. Sin embargo, esto parece funcionar también.
<%== @model.to_json %>
Pero no puedo encontrar ninguna documentación.
¿Alguien sabe exactamente lo que esto hace? es decir, ¿es exactamente lo mismo que llamar html_safe
o raw
? O hay algo más?
2 answers
<%==
es equivalente a raw
.
De la Guía de Ruby on Rails :
Para insertar algo textualmente use el ayudante
raw
en lugar de llamarhtml_safe
:<%= raw @cms.current_template %> <%# inserts @cms.current_template as is %>
O, equivalentemente, use
<%==
:<%== @cms.current_template %> <%# inserts @cms.current_template as is %>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-30 15:49:04
Rails en realidad usa Erubis en lugar de ERB, que soporta una variedad de otras cosas.
<%==
es exactamente como usted espera, sin embargo: Emite el valor unescaped
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-30 15:40:39