使用Authlogic single_access_token更新现有用户

时间:2010-09-21 10:32:38

标签: ruby-on-rails api authlogic migration

我目前在Web应用程序中使用Authlogic来处理用户身份验证,但现在决定创建一个似乎需要使用single_access_token的有限API。 我的问题是,如何将迁移应用于现有用户?

我想过使用像

这样的东西
 add_column :users, :single_access_token, :string
 User.reset_column_information
 User.find(:all) do |c|
   c.update_attribute :single_access_token, *****
 end

我不知道这是否是最佳方式,或者代替*****为所有已注册用户生成令牌的内容。

由于

2 个答案:

答案 0 :(得分:3)

我认为

User.all.each{ |x| x.reset_single_access_token! }

是你要找的东西

答案 1 :(得分:0)

如果你有很多用户,可能会更快:

User.find_each do |user|

  tok = Authlogic::Random.friendly_token

  str = "UPDATE users SET single_access_token = '#{tok}' WHERE id = #{user.id}"

  ActiveRecord::Base.connection.update_sql(str)

end