我有一个模型声明和一个模型声明。它与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])
更新声明时如何合并虚拟属性的任何想法?
答案 0 :(得分:1)
你可以访问声明行:
1)params[:dec_declaration][:declarationlines_attributes]
2)你可以尝试@declaration.assign_attributes(params[:dec_declaration])
然后@declaration.dec_declarationlines.each ...