Recupere todas las publicaciones donde el usuario dado ha comentado, Ruby on Rails

Tengo usuarios, publicaciones y comentarios. El usuario puede publicar solo un comentario en cada publicación.

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

En la página del usuario (http://host/users/1 por ejemplo) Quiero mostrar todas las publicaciones donde el usuario dado ha comentado. Cada publicación tendrá todos los demás comentarios.

Puedo hacer algo como esto en mi controlador de usuario:

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

De esta manera, encontraré al Usuario, luego todos sus comentarios, luego la publicación correspondiente a cada comentario, y luego (en mi opinión) para cada publicación rendiré post.comments. Soy totalmente nuevo en Rails, así que puedo hacer esto =) Pero creo que de alguna manera es malo y hay una mejor manera de hacerlo, tal vez debería usar ámbitos o named_scopes (aún no sé qué es esto, pero parece de miedo).

Entonces, ¿puedes señalarme la dirección correcta aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta