gpt4 book ai didi

ruby-on-rails - 肩膀应该属于class_name和foreign_key

转载 作者:行者123 更新时间:2023-12-03 13:22:13 26 4
gpt4 key购买 nike

我知道您可以使用Shoulda轻松测试一个属于关系:

describe Dog dog
it { should belong_to(:owner) }
end

是否可以使用Shoulda测试更复杂的belongs_to关系?像这样:
class Dog < ActiveRecord::Base
belongs_to :owner, :class_name => "Person", :foreign_key => "person_id"
end

最佳答案

您应该可以使用:

it { should belong_to(:owner).class_name('Person') }

Shoulda的 belong_to匹配器始终会从关联中读取 foreign_key并测试它是有效的字段名称,因此您无需执行任何其他操作。

(请参阅 Shoulda::Matchers::ActiveRecord::AssociationMatcher#foreign_key_exists? 和相关方法)

关于ruby-on-rails - 肩膀应该属于class_name和foreign_key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com