tutorial rubyonrails rails que guide ejemplos curso ruby-on-rails ruby-on-rails-4 rails-activerecord

ruby-on-rails - rubyonrails - ruby on rails tutorial



Rails 4 RelaciĆ³n#todo desaprobaciĆ³n (3)

Camino anidado

Post.order(''created_at DESC'').limit(5).to_a

En mi aplicación creé una función de publicaciones recientes.

@recentposts = Post.all(:order => ''created_at DESC'', :limit => 5)

Esta variable crea algunos problemas. Cuando realizo pruebas tengo el siguiente error:

ADVERTENCIA DE DEPRESIÓN: Relación # todo está en desuso. Si desea cargar ansiosamente una relación, puede llamar a #load (por ejemplo, Post.where(published: true).load ). Si desea obtener una matriz de registros de una relación, puede llamar a #a_a (por ejemplo, Post.where(published: true).to_a ). (llamado desde show en /home/mateusz/rails4/Bloggers/app/controllers/users_controller.rb:18)

Estaba buscando una solución en Google, pero no la encuentro ...


Solo escribe:

@recentposts = Post.order(''created_at DESC'').limit(5)

El to_a no es explícitamente necesario, ya que los datos se cargan de forma diferida cuando es necesario.


Una llamada a Post.all devolverá una ActiveRecord::Relation , que se cargará de forma diferida por defecto. Al llamar a Post.all.load se devolverá una ActiveRecord::Relation Post.all.load carga. Finalmente, al llamar a Post.all.to_a se devolverán todos los registros en una matriz.

En tu caso, harías:

Post.order(''created_at DESC'').limit(5).to_a

que devolvería una matriz de las primeras 5 created_at , ordenadas por created_at en orden descendente.