我是Rails的新手,所以我确定我犯了一个简单的错误.
我在两个模型之间建立了多对多的关系:User和Group.它们通过连接模型连接GroupMember.
这是我的模型(删除不相关的东西):
class User < ActiveRecord::Base
has_many :group_members
has_many :groups, :through => :group_members
end
class GroupMember < ActiveRecord::Base
belongs_to :group
belongs_to :user
end
class Group < ActiveRecord::Base
has_many :group_members
has_many :users, :through => :group_members
end
Run Code Online (Sandbox Code Playgroud)
该表GroupMembers包含有关该关系的其他信息,因此我没有使用has_and_belongs_to_many(根据Rails"Active Record Associations"指南).
我遇到的问题是我无法摧毁一个GroupMember.
这是rails控制台的输出:
irb(main):006:0> m = GroupMember.new
=> #<GroupMember group_id: nil, user_id: nil, active: nil, created_at: nil, updated_at: nil>
irb(main):007:0> m.group_id =1
=> 1
irb(main):008:0> m.user_id = 16
=> 16 …Run Code Online (Sandbox Code Playgroud)