Я пытаюсь обернуть голову вокруг этой проблемы.Я знаю, что во взглядах не должно быть столько логики.У меня есть приложение с пользователями, постами и комментариями.У пользователей много сообщений и комментариев.
class User < ActiveRecord::Base
has_many :posts
has_many :comments
Сообщения принадлежат пользователям и имеют много комментариев.
class Post < ActiveRecord::Base
has_many :comments
belongs_to :user
Комментарии принадлежат пользователям и сообщениям
class Comment < ActiveRecord::Base
belongs_to :post
belongs_to :user
Вмой пост # показать вид Я показываю комментарии под постом.Я хочу показать имя пользователя, который оставил комментарий.На данный момент у меня есть это на мой взгляд:
<% @post.comments.each do |comment| %>
<p>
<b>Commenter:</b>
<%= link_to User.find(comment.userid).login, User.find(comment.userid) %>
</p>
<p>
<b>Comment:</b>
<%= comment.body %>
</p>
<% end %>
У меня, вероятно, должна быть эта логика в контроллере сообщений.Но я в замешательстве.@ post.comments возвращает массив (?) комментариев, принадлежащих посту.Это означает, что у меня не может быть @commenter = @ post.comments.userid.Меня смущает эта проблема, поэтому я, возможно, не объяснил это хорошо.