Rails管理员突然停止在生产中工作?

时间:2015-04-22 04:42:38

标签: ruby-on-rails

我有一个在线网站,目前使用rails admin,这是我一直用来跟踪网站的用户和其他指标。但是今天当我访问我的网站时,当我访问/ admin时突然出现500内部错误。我有一段时间没有更新或更改我的代码所以我不能为我的生活弄清楚什么是错的。

以下是heroku日志中的错误:

2015-04-22T04:38:57.431281+00:00 app[web.1]: Started GET "/admin" for 
108.162.249.51 at 2015-04-22 04:38:57 +0000
2015-04-22T04:38:57.435082+00:00 app[web.1]: Completed 500 Internal Server Error in 1ms
2015-04-22T04:38:57.436300+00:00 app[web.1]: 
2015-04-22T04:38:57.436302+00:00 app[web.1]: NoMethodError (undefined method `admin' for nil:NilClass):
2015-04-22T04:38:57.436304+00:00 app[web.1]:   config/initializers/rails_admin.rb:4:in `block (2 levels) in <top (required)>'
2015-04-22T04:38:57.436306+00:00 app[web.1]: 
2015-04-22T04:38:57.434381+00:00 app[web.1]: Processing by RailsAdmin::MainController#dashboard as HTML
2015-04-22T04:38:57.436305+00:00 app[web.1]: 

它在本地工作,所以我不知道发生了什么。这里还有来自该错误的代码:

#config/initializers/rails_admin.rb:4
redirect_to main_app.root_path unless warden.user.admin

我也检查了控制台,该帐户仍然有管理员活动

1 个答案:

答案 0 :(得分:1)

warden.user尚未设置。我会将代码更改为

redirect_to main_app.root_path unless warden.user.try(:admin)