我有一个带有嵌套参数的表单。在下面的示例中,如何获取控制器中的“amount_whole”值?
Parameters: {"utf8"=>"✓", "authenticity_token"=>"KCmBI6RLh0LdUsM2r5H1vhNykS1IXecFe5Lct+TuIGc=", "dec_declaration"=>{"declaration_nr"=>"SAL_2012_0001", "dec_declarationlines_attributes"=>{"0"=>{"amount_whole"=>"75"}}
是这样吗?
amount = params[:dec_declarations][:dec_declarationlines_attributes][:amount_whole]
你忘记了"0"
哈希中的索引。所以你应该能够像这样访问它:
amount = params[:dec_declaration][:dec_declarationlines_attributes]["0"][:amount_whole]
params 哈希可以使用符号和字符串作为键。
Edit
但是,从参数的结构来看,您似乎有一个名为 DecDeclaration 的模型,该模型具有多个 DecDeclarationlines 并接受该关联的嵌套属性。所以你应该能够在控制器中像这样使用它:
@dec_declaration = DecDeclaration.build(params[:dec_declaration])
@amount_whole = @dec_declaration.dec_declarationlines.first.amount_whole
因为如果参数出现在该结构中,它将自动将嵌套值分配给关联。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)