ユーザーが多くのフォロワーを持つことができるように、ユーザーモデルとフォロワーモデルがあります。したがって、フォロワー モデルのスキーマには、user_id 列と follower_by_user_id 列があります。したがって、フォロワーモデルでは、ユーザーは多くのフォロワーにフォローされる可能性があります。ユーザー ID は user_id 列に保存され、フォロワー ID は、その ID が followed_by_user_id として保存されます。
class User < ActiveRecord::Base
has_many :followed_users, :class_name => 'Follower', :foreign_key => 'user_id'
has_many :followers, :class_name => 'Follower', :foreign_key => 'followed_by_user_id'
validates :email, presence: true, format:{ with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i}
validates :name,presence:true
end
上はユーザーモデル
class Follower < ActiveRecord::Base
belongs_to :user
belongs_to :followed_by_user, :class_name => 'User', :foreign_key => 'followed_by_user_id'
validates :user, :followed_by_user, presence:true
validates_associated :user, :followed_by_user
end
上はフォロワーモデル
FactoryGirl.define do
factory :user do
name {Faker::Name.name}
email {Faker::Internet.email}
end
factory :follower do
user
followed_by_user_id
end
followed_by_user_id は基本的にユーザー ID のみです。または、user_id は followed_by_user_id 列の外部キーであると言えます。平易な英語 followed_by_user_id は、他のユーザーをフォローしているユーザーの ID です。では、この外部キー関係を follower_by_user_id 列のフォロワー ファクトリに含める方法を支援できる団体があれば、
前もって感謝します。