У меня есть модель пользователя и модель последователя, так что у пользователя может быть много последователей. Итак, в схеме модели последователя у меня есть столбец user_id и столбец follower_by_user_id. Таким образом, в модели последователей за пользователем может следовать множество последователей. Идентификатор пользователя хранится в столбце user_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 - это в основном только идентификатор пользователя, или мы можем сказать, что user_id является внешним ключом для столбца follow_by_user_id. Im plain English follow_by_user_id - это идентификатор пользователя, который следит за другим пользователем. Итак, если какой-либо орган может помочь включить это отношение внешнего ключа в последователь factory для столбца follower_by_user_id?
Спасибо заранее.