У меня есть следующий вид:сильных параметры с мультимодельной формой
<%= form_tag classification_code_rules_path do %>
<% @classification_code_rules.each do |rule| %>
<%= fields_for "classification_code_rule[]", rule do |pf| %>
<%= pf.text_field :name %>
<% end %>
<% end %>
<%= submit_tag %>
<% end %>
Он посылает то, что я хочу на сервер:
Parameters: { ... "classification_code_rule"=>[{"name"=>"dasdsaf"}, {"name"=>"sfsdgdfhgf"}, {"name"=>"hfghfgjhgjhg"}], "commit"=>"Save changes"}
Поскольку classification_code_rule массив, я справиться с Params как следующим образом:
def classification_code_rule_params
params[:classification_code_rule].each do |rule_param|
rule_param.permit!
end
end
Но я получаю следующее сообщение об ошибке:
When assigning attributes, you must pass a hash as an argument.
Как я могу справиться с этой ситуацией, когда сильным параметром является массив?
вы пытались 'params.require (: classification_code_rule) .permit' –
@MohammadAbuShady, что дает мне «неопределенный метод' разрешение «! для # <Массив: 0x007fe6b8cfda68> " – Donato