Я пытаюсь извлечь из своей базы данных все сообщения и перечислить их в порядке DESC относительно их даты создания. Пока мне удалось проверить все записи, относящиеся к одной категории, но я хочу отображать все сообщения независимо от того, к какой категории они принадлежат. Я знаю, что мне нужно перебирать каждую категорию и получать сообщения от каждого, но я не знаю, как это сделать. Вот мой код:Loop in Loop in Rails Controller
EDIT:
def index
@institution = Institution.find(current_user.institution.id)
@categories = Category.all
@categories.each do |category|
@posts = Post.where("category_id = ? and institution_id = ?", category, @institution).order("created_at DESC")
end
authorize! :read, @post
respond_with(@posts)
end
Может кто-то пожалуйста, мне точку в правильном направлении?
EDIT 2: Мое мнение (index.html.haml)
%h1 Listing posts
%table
%tr
%th Title
%th Description
%th User
%th Category
%th Type
%th Class
%th Institution
- @posts.each do |post|
%tr
%td= post.title
%td= post.description
%td= post.user_id
%td= post.category_id
%td= post.institution_id
Почему вы не просто запрашиваете все сообщения через 'Post.all' или хотите только сообщения, у которых есть категория category? – cpjolicoeur
Если я не ошибаюсь, вы просто хотите сгруппировать свои сообщения по категориям, см. [Rails Guides] (http://guides.rubyonrails.org/active_record_querying.html#group) – topek
Я забыл упомянуть, что хочу получить сообщения которые имеют набор category_id! Сожалею. –