【问题标题】:Rails 4 unpermitted parameter using fields_for ?Rails 4 不允许使用 fields_for 的参数?
【发布时间】:2014-02-16 20:29:04
【问题描述】:

查看:

<%= fields_for :contact do |field| %>
  <%= field.label :contact, 'First Name' %><br>
  <%= field.text_field :first_name %><br>

  <%= field.label :contact, 'Last Name' %><br>
  <%= field.text_field :last_name %><br>
<% end %>

日志:

参数:{"utf8"=>"✓", "authenticity_token"=>"9BpMx004nc+JW0RQec8T7E1sthvSPxxC9l/4Waq7jpY=", "user"=>{"contact"=>{"first_name"=>"Joe", "last_name"=>"Guy"}, ...

不允许的参数:联系人

所以我在我的:controller:

params.require(:user).permit(contact: [:first_name, :last_name], ... )

现在出现语法错误:

语法错误,意外的 ',',期待 => ...).permit

目标:

我的数据库中有一个contact:text 字段。我想将此字段中的数据存储为数组。如first_namelast_name等。使用fields_for构建表单。我在这里想念什么?谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    如果散列元素是方法调用中的最后一个元素,则可以使用不带散列括号的contact: [:first_name, :last_name] {}。但如果你想让它先发生,试试这个:

    params.require(:user).permit({ contact: [:first_name, :last_name] }, ... )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-01
      • 2023-03-23
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多