现在我有两个表,用户和角色,当然角色有一个user_id,角色模型有belongs_to :user
,用户模型有has_one :role
。我想知道的问题是,如何让User模型在Role模型中创建新记录。我知道我可以在模型之外做这个,就像我创建用户一样容易,但我认为它可能更简化并将所有内容保存在一个位置并简化它,如果我在用户模型中这样做。有关如何在不知道用户身份之前我可以轻松完成此操作的建议吗?
注意:(我只允许在new_record?为true时使用,否则将被禁止。)
答案 0 :(得分: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
然后,当用户保存时,角色也会保存。