我有一个用户模型和一个追随者模型,这样一个用户可以有很多追随者。因此,在追随者模型的架构中,我有 user_id 列和 follower_by_user_id 列。所以在追随者模型中,一个用户可以被许多追随者关注。用户 id 存储在 user_id 列中,关注者 id 的 id 存储在 follow_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
follow_by_user_id 基本上只是一个用户 ID,或者我们可以说 user_id 是 follow_by_user_id 列的外键。Implain English follow_by_user_id 是跟随其他用户的用户的 id。那么,如果有任何机构可以帮助如何在 follower_by_user_id 列的关注者工厂中包含这个外键关系?
提前致谢。