Результаты заказа в подстоле - PullRequest
0 голосов
/ 27 августа 2009
@posts = Category.find(params[:id]).posts

Как заказать результаты со столбцом из таблицы сообщений? Например, в столбце posts.created_at?

Ответы [ 3 ]

1 голос
/ 27 августа 2009
@posts = Category.find(params[:id]).posts.all(:order => "created_at")

Вы также можете добавить к этому другие вещи, такие как

@posts = Category.find(params[:id]).posts.all(:order => "created_at", :limit => 10)

или

@posts = Category.find(params[:id]).posts.all(:order => "created_at DESC")
1 голос
/ 27 августа 2009

Вы можете сделать это:

@posts = Category.find(params[:id]).posts.all(:order => "created_at")

не уверен, есть ли лучшие способы сделать это ... надеюсь, это поможет =)

0 голосов
/ 30 августа 2009

Другое очень простое решение - просто указать порядок для самой ассоциации.

class Post < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
  has_many :posts, :order => "created_at"
end

Все сообщения, полученные через ассоциацию, будут уже отсортированы. Это позволит вам сохранить детали заказа в самой модели и синтаксис SQL-кода вне контроллера.

@posts = Category.find(params[:id]).posts

Вернет вам ваши записи в порядке "create_at".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...