0

现在我有两个表,用户和角色,当然角色有一个 user_id,角色模型有belongs_to :user,用户模型有has_one :role。我想知道的问题是,如何让用户模型在角色模型中创建新记录。我知道我可以像创建用户一样轻松地在模型之外执行此操作,但我认为它可能会更加精简,并且如果我在用户模型中执行此操作,则可以将所有内容集中在一个位置并简化它。关于如何在保存之前不知道用户 ID 的情况下轻松执行此操作有什么建议吗?

注意:(我只会在 new_record? 为真时才允许这样做,否则将被禁止。)

4

1 回答 1

0

我正在对用户及其设置做类似的事情,可能这对你有用:

class User < ActiveRecord::Base

#...

has_one :role
before_create :build_a_role

private
  def build_a_role
    self.build_role(role_att: value)
  end
end

然后,当用户被保存时,角色也被保存。

于 2012-06-12T20:32:41.797 回答