Gee*_*ash 13 ruby-on-rails faker ruby-on-rails-4 factory-bot
我有一个用户模型和一个跟随者模型,这样用户可以有很多粉丝.因此,在跟随者模型的模式中,我有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
Run Code Online (Sandbox Code Playgroud)
以上是用户模型
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
Run Code Online (Sandbox Code Playgroud)
以上是跟随者模型
FactoryGirl.define do
factory :user do
name {Faker::Name.name}
email {Faker::Internet.email}
end
factory :follower do
user
followed_by_user_id
end
Run Code Online (Sandbox Code Playgroud)
followed_by_user_id基本上只是一个用户ID,或者我们可以说user_id是follow_by_user_id列的外键.Im plain English followed_by_user_id是跟随其他用户的用户的id.那么,如果任何正文可以帮助如何在follower工厂中为follower_by_user_id列包含此外键关系?
提前致谢.
rab*_*mar 21
您可以association在工厂中使用,如下所示(文档中的更多信息):
association :followed_by_user, factory: :user
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6725 次 |
| 最近记录: |