has_many通过构建

时间:2011-08-12 07:25:41

标签: ruby-on-rails-3 many-to-many associations has-many-through

我有两个型号。用户和帐户如下

class Account < ActiveRecord::Base
  has_many :manages
  has_many :users, :through => :manages
end

class User < ActiveRecord::Base
  has_many :manages
  has_many :accounts, :through => :manages
end

如果我使用rails控制台并通过

创建帐户实例
acc = usr.accounts.build
acc.save

以下命令将返回创建的帐户实例

usr.accounts

但是以下命令不会返回用户实例

acc.users

另外,当我查看Join表时,没有创建条目。这里缺少什么?我想通过使用构建方法自动创建连接模型条目。

2 个答案:

答案 0 :(得分:2)

请尝试保存用户对象。

acc = usr.accounts.build
usr.save

答案 1 :(得分:1)

如果您使用 .save!而不是 .save

,您将收到完整的错误报告

使用 has_many:通过,请尝试添加模型

class Manage < ActiveRecord::Base
  belongs_to :user
  belongs_to :account
end