我创建了一个配置文件模型,用于存储客户用户属性。
我已在我的用户模型中包含以下内容,该模型会在创建新用户时创建配置文件记录。
before_create :build_profile
是否可以根据用户模型在配置文件模型中设置默认值?
例如,我想要默认的个人资料'别名'设置为' User' + user_id
答案 0 :(得分:1)
也许您应该考虑在使用回调创建新用户时创建新的配置文件。
回调是您可以锁定的触发器,以便完成特定任务。一般的想法是,您可以在User模型中编写一个私有方法来创建关联的配置文件,然后在User模型完成创建新用户之后立即触发它。你可以这样做:
# app/models/user.rb
after_create :create_a_profile
然后在您的私有方法中(进一步在user.rb文件中):
# app/models/user.rb
private
def create_a_profile
Profile.create(user_id: self.id, etc...)
end
这会使你的profile_controller变得更简单 - 你需要做的就是加载current_user的配置文件,然后允许用户更新普通CRUD中的额外细节吗?