如何使用设计user_id before_create设置用户属性

时间:2014-12-19 15:14:16

标签: ruby-on-rails devise

使用设计,我尝试在创建用户后自动设置自定义属性。

以下是我的用户模型中的内容。

 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保存到用户创建的另一个属性列?

1 个答案:

答案 0 :(得分:2)

回调最多应为before_save 当所有更改都保存到数据库中时运行after_save,因此在这种情况下为时已晚。