由于某些原因,我的groups_user表中没有存储任何信息。
我的模特
group.rb
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
end
user.rb
class User < ActiveRecord::Base
has_and_belongs_to_many :groups
end
groups_user.rb
class GroupsUser < ActiveRecord::Base
end
实体关系图
表格
观看代码
<% for group in @groups %>
<%= check_box_tag "user[group_ids][]", group.id, @user.groups.include?(group) %>
<%= group.description %>
<% end %>
users_controller.rb
def update
@user = User.find(params[:id])
params[:user][:group_ids] ||= []
if @user.update_attributes(params[:user]) flash[:success] = "User updated."
redirect_to @user #end
else
@title = "Edit user"
render 'edit'
end
end
答案 0 :(得分:3)
我遇到了同样的问题,我的脑袋一扫而光:
我的解决方案只是将其添加到我的用户模型(app / models / user.rb)
中class User < ActiveRecord::Base
attr_accessible :group_ids
[...]
end
希望这有帮助!
答案 1 :(得分:2)
它应该是groups_users
而不是groups_user
,您不必为此表创建模型