我有一个与设备关联的用户模型。这负责登录/注册我有一个用户信息模型,其中包含姓名、电子邮件、GPA、专业、学院和 token 。用户注册后,他们必须填写一个表单,在其中填写 userinfo 模型中除 token 之外的所有信息。
我想要做的是在用户注册后立即为其分配一个随机的五位整数。这将存储在 token 中。例如,在表单中,用户将姓名填写为“Jason”,电子邮件填写为“[email protected]”,gpa填写为“4.0”,学院填写为“某所大学”。这就是他们填写的全部内容。这就是他们将看到的全部。然后程序会为 token 分配一个随机的五位数字,可能是“16352”。然后我稍后就可以通过该 token 找到该用户。因此,如果有人在“通过 token 查找用户”区域下的索引页中输入“16352”,就会显示该用户。我怎样才能做到这一点?
最佳答案
您可以使用 before_save
回调,该回调在保存到数据库之前为该模型的特定属性设置一个随机数。
在您的模型中,您可以将其定义为 set_random_number
或任何数字,并将其命名为 before_save :set_random_number
:
before_save :set_random_number
def set_random_number
self.random_number = rand(10000..99999)
end
然后,每当您为该模型创建新记录时,set_random_number
回调就会在保存记录之前“触发”,并设置一个 10000 到 99999 之间的随机数。
关于ruby-on-rails - 当每个用户在 Rails 应用程序中注册时,为他们分配一个随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44250218/