Iai*_*inK 3 ruby ruby-on-rails factory-bot
我有一个现有的工厂(订单),我正在尝试创建一个有效继承它的新工厂。它看起来像这样:
factory :order_with_domain, :parent => :order do |o|
o.order_provider 'DomainNameHere'
end
Run Code Online (Sandbox Code Playgroud)
这样做并使用 运行规范后order_with_domain,我收到了这样的欢迎:
undefined method `order_provider=' for #<Order:0x00007fc70d9fafc0>
Did you mean? order_provider
Run Code Online (Sandbox Code Playgroud)
如果我尝试放置order_provider在父工厂中,我会收到同样的错误。
非常感谢任何帮助。
谢谢。
小智 5
尝试运行rails c test然后检查您的列是否存在。如果不是,那么这是您的测试数据库的问题,您需要在测试环境中使用RAILS_ENV=test rake db:migrate. 如果没有任何反应,请删除您的schema.rb然后再次运行迁移命令。
假设您的模型有一个order_provider属性或order_provider=方法,如 @moveson 上面评论的那样。
我会用traits. 像这样的东西:
factory :order do
# ... original factory stuff
trait :with_domain do
order_provider 'DomainNameHere'
end
end
Run Code Online (Sandbox Code Playgroud)
然后使用它:
order_with_domain = FactoryBot.create(:order, :with_domain)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |