1

我有一个模型声明和一个模型声明行。它与accepts_nested_attributes_for 有很多关系:declarationlines。这很好用,但申报表有 2 个虚拟属性“amount_whole”和“amoutn_decimal”,在提交表单时它们会合并到属性“amount”中。这适用于创建我有这个的地方:

# Cycle declaration lines to merge amount_whole and amount_decimal into amount
@declaration.dec_declarationlines.each do |line|
  line.amount = (line.amount_whole.to_s + '.' + line.amount_decimal.to_s).to_d
end

但是在更新时我有这个,这阻止我合并虚拟属性,因为我无法访问声明行:

@declaration.update_attributes(params[:dec_declaration])

更新声明时如何合并虚拟属性的任何想法?

4

1 回答 1

1

你可以访问声明行:

1)params[:dec_declaration][:declarationlines_attributes]

2)你可以试试@declaration.assign_attributes(params[:dec_declaration])然后@declaration.dec_declarationlines.each ...

于 2012-06-11T09:43:08.847 回答