首页 > 解决方案 > 如何允许此语法的参数:model[name[var]]

问题描述

我有一个由这段代码生成的表格:

<%= form_with(model: category, local: true) do |form| %>

  <%= form.text_field :slug %>

 <% @translations.each do |translation| %>
    <%= form.text_field 'name[' + translation.language.code + ']' %>
 <% end %>

  <%= form.submit %>

<% end %>

输入名称是category[name[en]](如我所愿)但如何允许参数名称是category[name[en]]en更改)

目前我有这个:

def location_params
       params.require(:category).permit(:slug, :name)
end

Unpermitted parameter: :name当我这样做时,我得到了p location_params

这是传输的内容:

_method patch
authenticity_token  atoken
category[name[en]]  avalue
category[name[fr]]  anothervalue
category[slug]  meeting
commit  Update+Category
utf8    ✓

标签: ruby-on-railsrubysecuritypost

解决方案


推荐阅读