Loop dentro do controlador Loop in Rails

Eu estou tentando recuperar do meu banco de dados todas as mensagens e listá-las na ordem DESC com relação à data de criação. Até agora, consegui testar todas as postagens que pertencem a uma categoria, mas quero exibir todas as postagens, independentemente da categoria a que pertencem. Eu sei que eu tenho que percorrer cada categoria, e obter as mensagens de cada um, mas eu não sei como. Aqui está o meu código:

EDITAR:

  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

Alguém pode, por favor, apontar a direção certa?

EDIT 2: minha opinião (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

questionAnswers(1)

yourAnswerToTheQuestion