我对我的Rails 3.0.9应用程序提出了挑战,直到几天前我提交了一些静态内容时,它已经“运行良好”。它是在heroku上,我使用Socery Gem进行身份验证 当我试图访问它时,我从Heroku获得了应用程序崩溃错误,查看我的日志,我看到了这个
Starting process with command `thin -p 38037 -e production
-R /home/heroku_rack/heroku.ru start`
2012-04-19T16:17:26+00:00 app[web.1]:
/app/.bundle/gems/ruby/1.9.1/gems/activesupport-
3.0.9/lib/active_support/dependencies.rb:304:in `rescue in depend_on':
No such file to load -- bcrypt (LoadError)
做了一些研究之后,添加了
gem 'bcrypt-ruby'
到我的Gem文件,现在我的应用程序在Heroku上启动,但在日志中使用此功能进行用户身份验证失败
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m Started POST "/sessions" for 94.2
00.71.131 at 2012-04-23 02:15:48 -0700
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m NoMethodError (undefined method `
unlock_token' for #<User:0x000000052f7740>):
←[32m2012-04-23T09:15:48+00:00 app[web.1]:←[0m app/controllers/sessions_contro
ller.rb:24:in `create'
答案 0 :(得分:1)
我今天遇到了这个问题。您可能错过了users表中的“unlock_token”字段。您应该添加以下迁移:
class AddUnlockTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :unlock_token, :string, :default => nil
end
end
此功能似乎已在此处实施:https://github.com/NoamB/sorcery/pull/249
答案 1 :(得分:0)
当我更新我的宝石时,我遇到了这个问题。 法术0.7.11有这个问题。 恢复到0.7.7,工作正常。