我有一个典型的要求,我必须按如下方式处理用户对象
user.referrer and user.referrers.
基本上,用户可以推荐多个人,并且一个人应该由一位特定用户推荐。所以我按如下方式建立关联。他们工作得很好。
class User < ActiveRecord::Base
attr_accessible :account_number, :display_name, :referrer_id
has_many :referrers, :class_name => "User", :foreign_key => "referrer_id"
belongs_to :referrer, :class_name => "User"
end
现在我想测试 Rspec 中的关联。我正在使用工厂女孩,所以有人可以帮助我建造工厂。
我尝试如下但最终出现错误
factory :user do
gender :male
name "super test"
.....
.....
factory :referrer do
end
association :referrer
end
您需要在这里构建两个工厂,一个用于具有引用者的用户,第二个用于没有引用者的用户 - 否则您将最终陷入无限创建循环。您可以为此使用特征:
factory :user do
gender :male
name "super test"
trait :with_referrer do
association :referrer, factory: :user
end
end
FactoryGirl.create(:user, :with_referrer)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)