FactoryGirl association_id 为零
FactoryGirl association_id is nil
我正在尝试将 factory_girl 用于关联。我有 2 个模型:account_info 和人。 AccountInfo 属于我的 account_info 工厂的一个人,看起来像:
FactoryGirl.define do
factory :account_info do
entity_type 1
account_key { Faker::Twitter.user[:id] }
association :entity_id, factory: [:person]
association :social_media_site_id, factory: [:twitter]
end
end
根据文档:
You can also specify a different factory or override attributes:
factory :post do
# ...
association :author, factory: :user, last_name: "Writely"
end
The behavior of the association method varies depending on the build strategy used for the parent object.
# Builds and saves a User and a Post
post = create(:post)
post.new_record? # => false
post.author.new_record? # => false
# Builds and saves a User, and then builds but does not save a Post
post = build(:post)
post.new_record? # => true
post.author.new_record? # => false
它创建了记录 Person 但 AccountInfo entity_id 仍然为零。为什么?
d = FactoryGirl.create(:account_info)
d.reload
AccountInfo Load (0.5ms) SELECT "account_infos".* FROM "account_infos" WHERE "account_infos"."id" = LIMIT [["id", 443], ["LIMIT", 1]]
=> #<AccountInfo id: 443, entity_type: "legislator", account_key: "498133264559673104", social_media_site_id: nil, entity_id: nil, created_at: "2018-04-29 13:18:49", updated_at: "2018-04-29 13:18:49">
版本:
factory_girl_rails (4.9.0)
rails (5.1.6)
ruby (2.5.0)
很奇怪 entity=
没有定义。您是否在 AccountInfo 模型中定义了关联? (例如 belongs_to :entity
)?如果是这样,那可能是问题所在(或类似问题)。
我正在尝试将 factory_girl 用于关联。我有 2 个模型:account_info 和人。 AccountInfo 属于我的 account_info 工厂的一个人,看起来像:
FactoryGirl.define do
factory :account_info do
entity_type 1
account_key { Faker::Twitter.user[:id] }
association :entity_id, factory: [:person]
association :social_media_site_id, factory: [:twitter]
end
end
根据文档:
You can also specify a different factory or override attributes:
factory :post do
# ...
association :author, factory: :user, last_name: "Writely"
end
The behavior of the association method varies depending on the build strategy used for the parent object.
# Builds and saves a User and a Post
post = create(:post)
post.new_record? # => false
post.author.new_record? # => false
# Builds and saves a User, and then builds but does not save a Post
post = build(:post)
post.new_record? # => true
post.author.new_record? # => false
它创建了记录 Person 但 AccountInfo entity_id 仍然为零。为什么?
d = FactoryGirl.create(:account_info)
d.reload
AccountInfo Load (0.5ms) SELECT "account_infos".* FROM "account_infos" WHERE "account_infos"."id" = LIMIT [["id", 443], ["LIMIT", 1]]
=> #<AccountInfo id: 443, entity_type: "legislator", account_key: "498133264559673104", social_media_site_id: nil, entity_id: nil, created_at: "2018-04-29 13:18:49", updated_at: "2018-04-29 13:18:49">
版本:
factory_girl_rails (4.9.0)
rails (5.1.6)
ruby (2.5.0)
很奇怪 entity=
没有定义。您是否在 AccountInfo 模型中定义了关联? (例如 belongs_to :entity
)?如果是这样,那可能是问题所在(或类似问题)。