私を記憶してパスワードをリセットするコメントセクションからの解決策。
開発データベースで試してみてください
しばらく前に試してみましたが、 generate_tokenがメソッド名でauth_tokenがトークンを保存する DB フィールドである場合、すべてのユーザーの認証トークンが更新されます。現時点でトークンを持っていないユーザーのために変更する必要がある場合は、タスク内の if ステートメントで考えることができます。
lib/tasks/rebuild_token_auth.rakeにファイルを作成します。
namespace :user do
desc "Rebuild Auth-Tokens"
task :rebuild_auth_token => :environment do
User.transaction do
User.all.each { |u|
u.generate_token(:auth_token)
u.save!
}
end
end
end
次のように呼び出します。
rake user:rebuild_auth_token
彼の例では、generate_token は次のようになります。
class User < ActiveRecord::Base
def generate_token(column)
begin
self[column] = SecureRandom.urlsafe_base64
end while User.exists?(column => self[column])
end
end