Je souhaite afficher le nom de l'affiche d'un commentaire dans la liste des commentaires lorsque les trois relations Utilisateur, Publication et Commentaire sont les suivantes.
user.rb
has_many :posts
has_many :comments
post.rb
belongs_to :user
fas_many :comments
comment.rb
belongs_to :user
belongs_to :post
ruby:show.html.erb
<p>Liste des commentaires</p>
<% @comments.each do |c| %>
<hr>
<a href="/users/#{c.user_id}"><%= c.user.name %></a>
<%= c.content %>
<% end %>
Puisque le nom de c.user.name devient NoMethodError, les informations utilisateur liées au commentaire peuvent être incorporées en ajoutant la ligne suivante à posts.controller.
ruby:posts.controller.rb
def show
@comments = @post.comments.includes(:user).all
end
Recommended Posts