Tôi có mô hình người dùng và kiểu người theo dõi, sao cho người dùng có thể có nhiều người theo dõi. Vì vậy, trong lược đồ của mô hình theo dõi tôi có cột user_id và cột follower_by_user_id. Vì vậy, trong mô hình theo dõi người dùng có thể được theo sau bởi nhiều người theo dõi. Id người dùng được lưu trữ trong cột user_id và id người theo dõi có id được lưu trữ trong dạng follow_by_user_id.Cách xử lý khóa ngoại trong FactoryGirl
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
Trên đây là sử dụng mô hình
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
trên là đi theo mô hình
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 cơ bản là một user id duy nhất, hoặc chúng ta có thể nói user_id là chìa khóa ngoại cho cột followed_by_user_id. Im plain English follow_by_user_id là id của người dùng đang theo dõi một số người dùng khác. Vì vậy, nếu bất kỳ cơ thể có thể giúp làm thế nào để bao gồm mối quan hệ khóa nước ngoài này trong nhà máy theo dõi cho cột follower_by_user_id?
Xin cảm ơn trước.
Cảm ơn bạn rất nhiều .. Nó đã cứu mạng tôi. –