【发布时间】:2016-05-21 10:22:00
【问题描述】:
背景
我的应用程序定义了 Employee 和 Company 模型之间的一对多关系。我已使用 Company 固定装置 (37_signals) 的标签为 Employee 固定装置分配了一家公司。但是,我还需要分配company_uuid,它是由SecureRandom.uuid 生成的。
示例
应用程序/模型/
employee.rb
class Employee
belongs_to :company
end
公司.rb
class Company
has_many :employees
end
测试/夹具/
employees.yml
employee:
name: dhh
company: 37_signals
company_uuid: <%= "Access the 37_signals company fixture's uuid here!" %>
companies.yml
37_signals:
name: $LABEL
company_uuid: <%= SecureRandom.uuid %>
问题
如何访问另一个 FixtureSet 中的 Fixture 属性?
已尝试
我尝试使用以下几行作为解决方案:
company_uuid: <%= ActiveRecord::FixtureSet.identify(:37_signals).company_uuid %>
上面找到公司的主键id值,然后调用company_uuid方法,对于整数是未定义的。这是无效的。
company_uuid: <%= companies(:37_signals).company_uuid %>
以上查找报告undefined method 'companies' for main:Object
有解决这个问题的常规方法吗?
【问题讨论】:
-
原来这是一个无关紧要的装置。要运行该示例,您可以说在使用 after_update 回调关闭内部 JobAd 时创建 Employee。公司有_许多工作_广告。 JobAd has_one Employee, and Employee belongs_to Company, Employee belongs_to JobAd。
标签: ruby-on-rails ruby-on-rails-4 yaml fixtures