Rails通过has_many插入到db中

时间:2014-02-25 15:14:27

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

如何使用以下模型在数据库中添加数据?

class User < ActiveRecord:Base
has_many :user_groups
has_many :groups, through: :user_groups

class Group < ActiveRecord:Base
has_many :user_groups
has_many :users, through: :user_groups

class UserGroup < ActiveRecord:Base
belongs_to :user
belongs_to :group

现在我正在使用此代码保存新记录

#group_controller
def create
  @group = current_user.groups.build(params...)
  if @group.save
  #my redirect etc...
end

好吧,这将在我的组表中创建一个带有更正参数等的行但是我的连接表仍然是空的...为什么?任何人都可以解释这些吗? ;)

1 个答案:

答案 0 :(得分:0)

因为您正在构建组并保存它,而不是关系。

if @group.save
  current_user.groups << @group

会解决它。