Voy a portar una aplicación Rails 2.8 a Rails 3. La mayoría de las cosas están funcionando, y lentamente voy resolviendo problemas. Un comportamiento que he encontrado es un poco desconcertante, y me gustaría entender qué cambió detrás de las escenas. El siguiente fragmento de código funciona en 2.x, pero falla en 3.0:¿Por qué ha cambiado este comportamiento erb en Rails 3?
<% if @apps.nil? || @apps.empty? %>
No rated applications.
<% else
ratingshidden = false
@apps.each { |app| %>
display app stuff etc....
a hacer que funcione en 3, tengo que cambiar de la siguiente manera:
<% if @apps.nil? || @apps.empty? %>
No rated applications.
<% else %>
<%
ratingshidden = false
@apps.each { |app| %>
display app stuff etc....
Qué cambió en los carriles para exigir este sintaxis actualizada?
Sólo un consejo, puede usar '@ apps.blank?' En lugar de '@apps.nil ? || @ apps.empty? '. Documentos [aquí] (http://api.rubyonrails.org/classes/Object.html#method-i-blank%3F). – markquezada
¡Gracias, lo he usado para cadenas, no estoy seguro de por qué no lo he usado aquí! – Joshua
Esto parece relacionado posiblemente con la desaprobación de los bloqueadores de estilo ... me encantaría saber más sobre los cambios internos. Comenzando una recompensa ... – Joshua