추적 기능 Userrb 및 Relationshiprb

1613 단어 RubyRails
Relationship.rb
class Relationship < ApplicationRecord
    belongs_to :follower, class_name: "User"
    belongs_to :followed, class_name: "User"
end
Relationship 모델(중간 모델)에서
4follower(팔로우)
4followed(관심 있는 사람)
존재하다.
user.rb
  has_many :follower, class_name: "Relationship", foreign_key: "follower_id", dependent: :destroy
  # フォロー取得。Relationshipモデルのfollower_idにuser_idを格納

  has_many :followed, class_name: "Relationship", foreign_key: "followed_id", dependent: :destroy
  # フォロワー取得。followed_idにuser_idを格納

위의 두 줄은 사용자를 주체로 하여 얻은 정보입니다.
특정 동작이 발생할 때userid를 저장하는 곳키 지정, followerid 및 followedid에 맞는 사용자id를 저장합니다.
또한 수량 등을 주목할 때 사용자 정보가 필요 없는 내용
<% current_user.follower.each do |user| %>
<%= user.count %>
<% end %>
이렇게 하면 팔로워를 채택할 수 있다.
(팔로워 수 획득시 followed)
user.rb

  has_many :following_user, through: :follower, source: :followed
  #following_userを命名。自分がフォローしているユーザ情報を取得。

  has_many :follower_user, through: :followed, source: :follower
  #自分をフォローしているユーザ情報を取得。
사용자 정보가 상세하게 필요한 경우 여기(email 등).
<% current_user.following_user.each do |user| %>
<%= user.email %>
<% end %>
following_user에서 follower표를 통해 followed표를 참조합니다.

좋은 웹페이지 즐겨찾기