[rails] 소식 목록에 사용자 정보 표시

처음에



이번 프로게이트와 다른 방법으로 투고 목록에서 사용자 정보를 표시합니다.

프로 게이트에서 rails를 마치고 나서 트위터 스타일 앱을 만들 것이라고 생각합니다.
그래서 프로 게이트 코드를 복사하는 것은 누구나 할 수 있지만,
중요한 것은 이해하고 스스로 코드를 작성하는 것이라고 생각합니다.

다른 방법으로 표시할 수 있었으므로, 참고나 힌트가 되면 기쁩니다.

완성 이미지




※주:디자인은 이번 하지 않습니다. 또한 이해하기 쉽게 이해할 수 있도록 사용자 정보를 이름으로 만드십시오.

전제



・users 테이블과 투고용의 테이블(이번은 comments 테이블)이 있는 것.

MVC (model/controller/view) 설정



controller 설정



app/controllers/comments_controller.rb
class CommentsController < ApplicationController
    def index
      @comment = Comment.all.order(created_at: :desc)
    end

이것은 프로 게이트에서 나온 게시된 순서대로 위에서 볼 수 있습니다.

model의 설정(※여기에서 프로게이트와 다르다!)



app/models/comment.rb
class Comment < ApplicationRecord
    belongs_to :user#追記
end

belongs_to란 무엇입니까? 라고 생각하신 분 있을지도 모릅니다.
간단히 설명하면, user 테이블과 투고용의 테이블(이번은 comments 테이블)의 2개를 묶어 주는 구조의 것입니다.
자세한 내용은 여기

view 설정



app/views/comments/index.html.erb
<% @comment.each do |comment|%>
  <%= comment.user.name%>
  <%= link_to(comment.content,"/comments/#{comment.id}")%>
<% end %>

위 코드의 두 번째 줄 <%= comment.user.name%>
방금 belongs_to :user와 연결되어 있기 때문에 이렇게 쓸 수 있습니다.
만약, 연결이 되어 있지 않으면 에러가 나온다고 생각합니다.

마지막으로



이번에는 belongs_to를 사용하여 user 테이블과 comment 테이블을 연결했습니다.

만약, 뭔가 수정점이 있으시면 코멘트 등
죄송하지만 잘 부탁드립니다.

좋은 웹페이지 즐겨찾기