我正在尝试使用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
的内容,但我无法自己解决这个问题。
答案 0 :(得分:1)
看起来你没有通过&#34; text_method&#34; collection_check_boxes
的参数
如果您在添加用户专栏name
时删除:group
,则因为您将其与form_for
一起使用
== f.collection_check_boxes :user_ids, User.all, :id, :name