以下是模型关系:
class Tool < ActiveRecord::Base
...
has_many :loss_ratios, :dependent => :destroy, :order => "loss_ratios.starts_at DESC"
validates_associated :loss_ratios
accepts_nested_attributes_for :loss_ratios, :allow_destroy => true
attr_accessible :name, :text, :service_id, :supplier_id, :loss_ratios_attributes
end
class LossRatio < ActiveRecord::Base
belongs_to :tool
validates :rate, :starts_at, :tool, :presence => true
validates_uniqueness_of :starts_at, :scope => :tool_id
validates_numericality_of :rate
validates_inclusion_of :rate, :in => (0..1)
...
end
我在创建/更新 ToolsController 操作中管理 LossRatio 关联。我想通过发布工具的属性集来测试它们(包括几个嵌套的 LossRatios,就好像它们是在表单中提交的一样)。我正在使用 FactoryGirl,但它似乎没有办法构建类似参数的属性哈希(attributes_for 忽略关联,并且看起来这种行为不会改变)。有没有办法做到这一点?
(我知道标题是一团糟,但我想不出更好更短的……)