使用设计,我尝试在创建用户后自动设置自定义属性。
以下是我的用户模型中的内容。
after_save :set_attribute_to_devise_id
private
def set_attribute_to_devise_id
self.custom_attribute = self.id
end
当用户注册并创建帐户时,custom_attribute不会保存设计生成的ID。但是,在控制台中进行测试时,在用户上运行User.save似乎更新了custom_attribute,但不会永久保存或保存到数据库。
我已经尝试过after_commit以及after_create而没有任何运气。如何自动将Devise中的user.id保存到用户创建的另一个属性列?
答案 0 :(得分:2)
回调最多应为before_save
当所有更改都保存到数据库中时运行after_save
,因此在这种情况下为时已晚。