rails无法访问params散列中的值

时间:2015-01-31 02:58:20

标签: ruby-on-rails

我有一个看起来像这样的params哈希:

puts contact_params
=> {"classifiable_classification_codes_attributes"=>{"0"=>{"id"=>"5", "relateds_attributes"=>{"0"=>{"classifiable_id"=>"6", "id"=>"15"}}}}} 

所以我希望当我这样做contact_params [“classifiable_classification_codes_attributes”]时,我随后得到{“0”=> {“id”=>“5”......

事实上,这正是控制台中发生的事情:

> contact_params["classifiable_classification_codes_attributes"]
 => {"0"=>{"id"=>"5", "relateds_attributes"=>{"0"=>{"classifiable_id"=>"6", "id"=>"15"}}}} 

但是,在我尝试执行此操作时,在控制器中,它返回一个nil值,就像classifiable_classification_codes_attributes不是键一样。我还尝试了符号形式:classifiable_classification_codes_attributes。但他们都没有返回任何结果。

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

我猜这可能是一个强参数问题,在这种情况下你需要添加像

这样的东西
private
def my_params
  params.require(:classifiable_classification_codes_attributes).permit(: id, :relateds_attributes)
end

阅读详情:http://edgeguides.rubyonrails.org/action_controller_overview.html#strong-parameters