Rails collection_check_boxes

时间:2016-12-03 17:09:48

标签: ruby-on-rails-4

我正在尝试使用collection_check_boxes方法。

group有多个users,用户可以属于多个groups

user.rb

class User < ActiveRecord::Base
 has_and_belongs_to_many :groups
end

group.rb

class Group < ActiveRecord::Base
 has_and_belongs_to_many :users
end

groupes.controller.rb

class GroupsController < ApplicationController

 def new
    @group = Group.new
 end
end

new.html.slim

h1 Groupes

.hsep

.container-fluid

 == form_for @group, { html: { class: 'form-horizontal', remote:true, id: 'new_user' } } do |f|

.form-group
    .col-sm-10
        == f.collection_check_boxes :group, :user_ids, User.all, :id, :login

== f.submit

我的目标是,当创建新的group时,用户可以使用所有用户的复选框列表选择属于该组的users

错误

ActionView::Template::Error (undefined method `merge' for :login:Symbol):
13: 
14:     .form-group
15:         .col-sm-10
16:             == f.collection_check_boxes :group, :user_ids, User.all, :id, :login
17: 
18:     == f.submit

我很可能错过了关于如何正确使用collection_check_boxes的内容,但我无法自己解决这个问题。

1 个答案:

答案 0 :(得分:1)

看起来你没有通过&#34; text_method&#34; collection_check_boxes的参数

如果您在添加用户专栏name时删除:group,则因为您将其与form_for一起使用

== f.collection_check_boxes :user_ids, User.all, :id, :name