【发布时间】:2014-10-06 10:24:16
【问题描述】:
我有一个User 和UserProfile 模型。目前这两个模型都有first_name、last_name和email属性,它们必须相同。稍后我将从User 中删除这些属性,但目前我希望这样。一个UserProfilebelongs_to 一个User。我已经像这样定义了UserProfile 制造商:
Fabricator(:user_profile) do
first_name { Faker::Name.first_name }
last_name { Faker::Name.last_name }
email { Faker::Internet.email }
user { Fabricate :user }
end
和User 制造商:
Fabricator(:user) do
email { Faker::Internet.email }
first_name { Faker::Name.first_name }
last_name { Faker::Name.last_name }
last_login_at { Time.now }
organization { Fabricate :organization }
end
问题是现在,当我制作用户配置文件时,属性不一样了:
user_profile.first_name == user_profile.user.first_name # => false
在用户配置文件制造者的定义中,我尝试了这个,但没有奏效:
user { Fabricate :user, first_name: first_name, last_name: last_name, email: email }
如何在不使用硬编码值替换 Faker 的情况下制作具有相同属性的用户和用户配置文件?
【问题讨论】:
标签: fixtures model-associations modelattribute fabrication-gem