2014-02-16 49 views
0

观点:Rails 4未经许可的参数使用fields_for?

<%= 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 %> 

日志:控制器:

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

现在,我得到一个语法错误:

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

Unpermitted parameters: contact

所以我在做这个

syntax error, unexpected ',', expecting => ...).permit

目标:

我有我的数据库contact:text场。我想将数据作为数组存储在这个字段中。如first_namelast_name等。使用fields_for来构建表格。我在这里错过了什么?谢谢。

回答

0

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

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