@posts = Category.find(params[:id]).posts
Как я могу заказать результаты с колонкой из таблицы сообщений? Например, в столбце posts.created_at?Результаты заказа в подкатегории
@posts = Category.find(params[:id]).posts
Как я могу заказать результаты с колонкой из таблицы сообщений? Например, в столбце posts.created_at?Результаты заказа в подкатегории
Вы можете сделать это:
@posts = Category.find(params[:id]).posts.all(:order => "created_at")
не уверен, что есть лучшие способы сделать это ... надежду на то, что помогает =)
@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")
Другим очень простым решением является просто указать заказ на самой ассоциации.
class Post < ActiveRecord::Base
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :posts, :order => "created_at"
end
Любые сообщения, полученные через ассоциацию, уже будут отсортированы. Это позволит вам сохранить детали заказа в самой модели и синтаксис SQL-ish из контроллера.
@posts = Category.find(params[:id]).posts
Вернет ваши записи в «created_at».