Rails强大的参数不能使用自动完成功能

时间:2016-04-30 14:34:10

标签: ruby-on-rails

我有群组控制器

class GroupsController < ApplicationController
    before_action :authenticate_user!
    autocomplete :group, :name, :full => true

    def index
     @group = Group.new
    end

    def create

    end

    private

    def group_params
      params.require(:group).permit(:name)
    end

end

当我以下列形式提交参数时:

<%= form_for @group do |f| %>
  <%= f.autocomplete_field :name, autocomplete_group_name_groups_path, 'data-delimiter' => ',', :multiple => true, :"data-autocomplete-label" => "Sorry, nothing found."
 %>
 <%= f.submit "Find" %>
<% end%>

我正在关注服务器中的params:

{"utf8"=>"✓", "authenticity_token"=>"r/V8df6WtVVwh2i8QeJwxG0rxoF90cN7kpdsLPzoZzk72v3C+JOCNx5FuOD3RYTRS7jIZlWcbAdQ05iUEmw==", "group"=>{"name"=>["nyc"]}, "commit"=>"Find", "controller"=>"groups", "action"=>"create"}

但是当我试图打电话给 group_params 时,我会变空{}

请告诉我代码有什么问题。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

当您查看params哈希时, 数组中的name ,所以下面应该有效

def group_params
  params.require(:group).permit(:name => [])
end