现在我有两个表,用户和角色,当然角色有user_id,角色模型有belongs_to :user
,用户模型有has_one :role
。 我想知道的问题是,如何让用户模型在角色模型中创建新记录。 我知道我可以像创建用户一样轻松地在模型之外执行此操作,但我认为它可能会更加精简,并将所有内容都保留在一个位置,如果我在用户模型中执行此操作,则可以简化它。 对于如何在保存用户 ID 之前轻松执行此操作,是否有任何建议?
注意:(我只允许在new_record?为真时这样做,否则将被禁止。
我正在对用户及其设置做类似的事情,这可能对您有用:
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
然后,当保存用户时,角色也会保存。