Siempre utilicé <%= some_code %>
para insertar Ruby en HTML cuando uso Ruby on Rails. Me acabo de dar cuenta de que otros proyectos a veces usan <%= some_code -%>
.Qué significa -%> en Ruby on Rails, en comparación con%>
Respuesta
<% = some_code -%> El signo menos al final quita la nueva línea. Útil para formatear el HTML generado, mientras que <% = some_code%> no lo hace.
Gracias, Anubhaw
¿Qué hay de la diferencia entre comenzar con ' <% = 'vs' <% '? – Shawn
@ShawnSep '=' addes la salida, '%' no y se usa para cosas como condicionales '<% if %>'. –
Se elimina on Rails 3.
Ahora con Rails 3, no hay diferencia entre estos 2 formas.
No estoy seguro de dónde lo lee, pero -%> todavía impide que ERB produzca una nueva línea en los rieles 3. – Samuel
Según las notas de la versión de Rails 3: "Ya no es necesario colocar un signo menos al final de una interpolación ruby dentro de una plantilla ERb para eliminar el retorno del carro posterior en el resultado HTML ". –
@Tim Eso significa que eliminará el CR final de su salida de HTML, no de todas las líneas. -%> todavía existe y sigue siendo útil. – Samuel
Esta respuesta era incorrecta: vea https://stackoverflow.com/a/25617607/895245 en su lugar.
en Ruby 2,1 (no necesariamente con rieles), el -
elimina uno el salto de línea como se ha señalado por Anubhaw:
- el salto de línea debe ser el primer carácter después de la
>
- sin espacios son eliminado
- un solo salto de línea se elimina
- que debe pasar el
'-'
opción de usarlo
Ejemplos:
require 'erb'
ERB.new("<%= 'a' %>\nb").result == "a\nb" or raise
begin ERB.new("<%= 'a' -%>\nb").result; rescue SyntaxError ; else raise; end
ERB.new("<%= 'a' %>\nb" , nil, '-').result == "a\nb" or raise
ERB.new("<%= 'a' -%>\nb" , nil, '-').result == 'ab' or raise
ERB.new("<%= 'a' -%> \nb" , nil, '-').result == "a \nb" or raise
ERB.new("<%= 'a' -%>\n b" , nil, '-').result == 'a b' or raise
ERB.new("<%= 'a' -%>\n\nb", nil, '-').result == "a\nb" or raise
Doc: http://ruby-doc.org/stdlib-2.1.1/libdoc/erb/rdoc/ERB.html
Rails 4.1 parece:
uso ERB por defecto en: https://github.com/rails/rails/blob/fcbdac7e82725c388bf5adf56a9a9a16d4efdbe0/actionview/lib/action_view/template/handlers.rb#L10
establece
-
por defecto en: https://github.com/rails/rails/blob/fcbdac7e82725c388bf5adf56a9a9a16d4efdbe0/actionview/lib/action_view/template/handlers/erb.rb#L77
- 1. ¿Qué significa "andamio" en Ruby on Rails?
- 2. En Ruby on Rails, ¿qué significa "recurso"?
- 3. ¿Qué significa: esto significa en Ruby on Rails?
- 4. ¿Qué significa la etiqueta 't()' en Ruby on Rails?
- 5. Ruby on Rails: ¿qué significa el símbolo "igual" como parámetro?
- 6. En Ruby on Rails, ¿qué hace authenticate_with_http_basic?
- 7. ¿Qué es MVC en Ruby on Rails?
- 8. Ruby on Rails: before_filter =>: only_when_user_is_logged_in
- 9. ¿Qué significa <%=h ... %> en Rails?
- 10. ¿Qué significa @@ en Ruby?
- 11. Ruby on Rails en IIS?
- 12. Ruby vs. Ruby on Rails
- 13. Ruby on Rails: descargable
- 14. Usos de Ruby on Rails
- 15. ¿Qué significa para un lenguaje de programación estar "on rails"?
- 16. En Ruby, ¿qué significa "=>" y cómo funciona?
- 17. ¿qué significa "$ &" significa en Ruby
- 18. Ruby on Rails: alias_method_chain, ¿qué es exactamente?
- 19. Ruby on Rails will_paginate
- 20. Ruby on Rails Switch
- 21. Docsplit Ruby on Rails
- 22. Ruby on Rails enviar
- 23. función Expose en Ruby on Rails
- 24. ¿Qué significa || = en Ruby?
- 25. Django o Ruby on Rails
- 26. Malas prácticas en Ruby on Rails
- 27. Colas de mensajes en Ruby on Rails
- 28. Cómo caché JSON en ruby on rails?
- 29. ¿Qué hace el yo en ruby on rails?
- 30. respon_with no funciona en ruby on rails. ¿Por qué?
pregunta Superserie para todos los formatos '' <% %> modificadores que vino después: http://stackoverflow.com/questions/7996695/rails-erb-syntax –
@CiroSantilli: Usted' re dominando estos - buen trabajo! Escogí http://stackoverflow.com/questions/7996695/what-is-the-difference-between-and-in-erb-in-rails para este, también ... –