Forum: Rails-ES consulta sobre find

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B0d04a1818bf2bbacc9d3cbb7e6c6fc8?d=identicon&s=25 Alexander Gonzales (Guest)
on 2007-01-22 16:00
(Received via mailing list)
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

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

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
Ffd012d72e7f61639724878825ed25a3?d=identicon&s=25 Damian Janowski (djanowski)
on 2007-01-22 16:07
(Received via mailing list)
On 1/22/07, Alexander Gonzales <gonzalesc@gmail.com> 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 :)

Saludos
A6344ef7ef1e33e8efb34d99e6124490?d=identicon&s=25 Imobach González Sosa (Guest)
on 2007-01-22 23:46
(Received via mailing list)
El Lunes, 22 de Enero de 2007 14:59, Alexander Gonzales escribió:
> <% end %>
> </ul>

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 topic is locked and can not be replied to.