ruby-on-rails - render_to_string - routes in ruby on rails
Imprimir en ERB sin<%=? (3)
A veces es más conveniente imprimir en <%%>. ¿Cómo hacerlo en rieles?
En ERB: el <%%> significa que hay un código Ruby aquí para ser interpretado. El <% =%> dice que se genera el código ruby, es decir, muestra / imprime el resultado.
Por lo tanto, parece que necesita usar el signo = extra si desea generar un archivo ERB estándar.
De lo contrario, podría buscar alternativas a ERB que requieren menos sintaxis, ... tal vez intente algo como HAML. http://haml-lang.com/tutorial.html
Example:
# ERB
<strong><%= item.title %></strong>
# HAML
%strong= item.title
¿Es eso más conveniente?
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-concat
Debería ser lo que buscas.
Por ejemplo, la siguiente declaración utilizando concat
:
<% concat "Output" %>
es equivalente a:
<%= "Output" %>
erb tiene dos métodos para evaluar expresiones de rubí en línea. El <%
que evalúa la expresión y el <%=
que evalúa e imprime. No hay ningún objeto global para imprimir dentro del contexto de enlace.
Como lo mencionó Omar, hay un método concat , que es parte de ActionView. Esto hará lo que quieras.
A diferencia de un escape de lenguaje de scripting, no hay salida predeterminada para erb. Dado que erb es simplemente una función, y dada una plantilla y un enlace devolverá una variable, devuelve los valores de texto y funciones de forma recursiva.
Existe un debate acalorado sobre la cantidad de lógica que debe permitirse en una vista, pero lo que la mayoría de la gente busca es lo menos posible . Si está poniendo más código que texto en la vista, puede considerar refactorizar su código.