我有一个看起来像这样的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。但他们都没有返回任何结果。
我可能做错了什么?
答案 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