में विदेशी कुंजी को कैसे संभाला जाए मेरे पास एक उपयोगकर्ता मॉडल और अनुयायी मॉडल है, जैसे कि उपयोगकर्ता के कई अनुयायी हो सकते हैं। तो अनुयायी मॉडल की स्कीमा में मेरे पास 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
followed_by_user_id मूल रूप से एक प्रयोक्ता आईडी ही है, या हम कह सकते हैं user_id followed_by_user_id स्तंभ के लिए विदेशी कुंजी है। Im plain english then_by_user_id किसी ऐसे उपयोगकर्ता का आईडी है जो किसी अन्य उपयोगकर्ता के लिए अनुसरण कर रहा है। तो अगर कोई शरीर follower_by_user_id कॉलम के लिए अनुयायी कारखाने में इस विदेशी कुंजी संबंध को शामिल करने में मदद कर सकता है?
अग्रिम धन्यवाद।
बहुत बहुत धन्यवाद .. यह मेरे जीवन को बचाया। –