Consulta sobre find

Buenas… estoy intentando crearme una web blog para uso personal y pues
estoy en est apartado de mostrar los comentarios recientes… y pues me
puse
un parcial con este código

    <% for comment in Comment.find(:all, :order => 'created_at') %>
  • <%= #{comment.author} %> en <%= link_to "#{comment.article.title}", :action => 'comment', :controller => 'blog', :id => comment %>
  • <% end %>

y pues cabe señalar que me da error en <%= #{comment.author} %> como
diciendo que tiene una mala sintaxis… pero cuando se lo quito si
funciona…
a pesar de ser de la misma sintaxis que el siguiente
#{comment.article.title
}
Ya he probado con <%=h comment.author %> y aun asi… sale error…
No se si podrían orientarme en esto!.

saludos

On 1/22/07, Alexander G. [email protected] wrote:

y pues cabe señalar que me da error en <%= #{comment.author} %> como
diciendo que tiene una mala sintaxis… pero cuando se lo quito si funciona…
a pesar de ser de la misma sintaxis que el siguiente #{
comment.article.title}
Ya he probado con <%=h comment.author %> y aun asi… sale error…
No se si podrían orientarme en esto!.

El string interpolation es algo de Ruby.

“Hola, #{persona.nombre}”
–> “Hola, Alexander”

<% %> es la forma de incluir código Ruby dentro de los templates. El
signo igual envía un string a la salida.

La forma de combinar estas cosas sería:

<%= persona.nombre %>
<%= “Hola #{persona.nombre}” %>

Espero haber sido claro :slight_smile:

Saludos

El Lunes, 22 de Enero de 2007 14:59, Alexander G. escribió:

<% end %>

Bueno, ya que Damian te comentó cuál era el error, yo me permito el lujo
de
hacerte una pequeña observación. En general, creo que esta vista tiene
más
lógica de la cuenta. Creo que no deberías usar el método Comment#find en
la
vista; al fin y al cabo, estás decidiendo en la propia vista qué
comentarios
vas a mostrar (e incluso en qué orden).

Deberías hacer eso en el controlador y dejar que la vista, simplemente,
acceda
a lo que el controlador “haya decidido” que se va a mostrar. En el
controlador:

@comments = Comment.find(:all, :order => ‘created_at’)

Y en la vista:

<% for comment in @comments %>

Un saludo.


Imobach González Sosa
imobachgs en banot punto net
osoh en jabberes punto org

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs