AdilA
@AdilA
Нравится кодить, изучаю go c echo

Как в Rails сделать отображение имени пользователя, который создал комментарий?

В общем, есть юзеры коменты и есть посты, как прописать ассоциации между моделями, чтобы на постах показать, кто написал коммент?
  • Вопрос задан
  • 2879 просмотров
Решения вопроса 1
FanKiLL
@FanKiLL
class User < ActiveRecord::Base
  has_many :posts, dependent: :destroy
  has_many :comments, dependent: :destroy
end


class Post < ActiveRecord::Base
  belongs_to :user
  has_many :comments, dependent: :destroy
end


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


class PostsController < ApplicationController
  def index
    @posts = Post.includes(:user, :comments).order('created_at DESC')
  end
end


<% @posts.each do |post| %>
  <%= link_to post.user.user_name, user_path(post.user) %> #кто написал пост
  <% post.comments.each do |comment| %> #проходимся по комментам
    <%= comment.user.user_name%> # кто написал коммент
  <% end %>
<% end %>


Как кто так, если нужны комментарии/объяснения спрашивайте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы