Joh*_*ohn 3 ruby-on-rails ruby-on-rails-3
我有一个嵌套params的表单.在以下示例中,如何获取控制器中的"amount_whole"值?
Parameters: {"utf8"=>"?", "authenticity_token"=>"KCmBI6RLh0LdUsM2r5H1vhNykS1IXecFe5Lct+TuIGc=", "dec_declaration"=>{"declaration_nr"=>"SAL_2012_0001", "dec_declarationlines_attributes"=>{"0"=>{"amount_whole"=>"75"}}
Run Code Online (Sandbox Code Playgroud)
是这样的吗?
amount = params[:dec_declarations][:dec_declarationlines_attributes][:amount_whole]
Run Code Online (Sandbox Code Playgroud)
你忘记"0"了散列中的索引.所以你应该能够像这样访问它:
amount = params[:dec_declaration][:dec_declarationlines_attributes]["0"][:amount_whole]
Run Code Online (Sandbox Code Playgroud)
params散列使用符号和字符串作为键.
然而,判断购买params的结构看起来你有一个名为DecDeclaration的模型,它具有该协会的DecDeclarationlines和accepts_nested_attributes.所以你应该能够在控制器中像这样使用它:
@dec_declaration = DecDeclaration.build(params[:dec_declaration])
@amount_whole = @dec_declaration.dec_declarationlines.first.amount_whole
Run Code Online (Sandbox Code Playgroud)
因为如果params进入该结构,它将自动将嵌套值分配给关联.
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |