Recuperar todas as postagens onde o usuário comentou, Ruby on Rails

Eu tenho usuários, postagens e comentários. O usuário pode postar apenas um comentário para cada postagem.

class User < ActiveRecord::Base
  has_many :posts
  has_many :comments
end

class Post < ActiveRecord::Base
  has_many :comments
  belongs_to :user
end

class Comment < ActiveRecord::Base
  belongs_to :user
  belongs_to :post
end

Na página do usuário (http://host/users/1 por exemplo) quero mostrar todas as postagens em que o usuário especificado comentou. Cada postagem terá todos os outros comentários.

Eu posso fazer algo assim no meu controlador de usuário:

def show
  @user = User.find(params[:user_id])
  @posts = []
  user.comments.each {|comment| @posts << comment.post}
end

Dessa forma, encontrarei o Usuário, todos os seus comentários, a postagem correspondente a cada comentário e, em minha opinião, para cada publicação, apresentarei post.comments. Sou totalmente novo no Rails, então posso fazer isso =) Mas acho que de alguma forma é ruim e há uma maneira melhor de fazer isso, talvez eu deva usar escopos ou named_scopes (ainda não sei o que é isso, mas parece assustador).

Então você pode me indicar a direção certa aqui?

questionAnswers(2)

yourAnswerToTheQuestion