ActiveAdmin :: Devise :: Sessions#new中的NoMethodError

时间:2013-10-09 01:27:29

标签: activeadmin nomethoderror

我已经浏览了很多文章,其中有很多文章涉及到这一点,但似乎没有解决我遇到的问题。我已经安装了ActiveAdmin,一切正常,直到我尝试推送到heroku。现在我收到以下错误,不知道如何解决。

NoMethodError in ActiveAdmin::Devise::Sessions#new

Showing /Users/gregoryhooven/.rvm/gems/ruby-1.9.3-p448/bundler/gems/active_admin-6c9e22ab0922/app/views/active_admin/devise/sessions/new.html.erb where line #7 raised:

undefined method `[]' for nil:NilClass

xtracted source (around line #7):

<% scope = Devise::Mapping.find_scope!(resource_name) %>
<%= active_admin_form_for(resource, :as => resource_name, :url => send(:"# {scope}_session_path"), :html => { :id => "session_new" }) do |f|
f.inputs do
**resource.class.authentication_keys.each { |key| f.input key, :input_html => {:autofocus => true}}**
f.input :password
f.input :remember_me, :label => t('active_admin.devise.login.remember_me'), :as => :boolean if devise_mapping.rememberable?
end

1 个答案:

答案 0 :(得分:0)

有点晚,但可能会用于其他人。 我在本地系统上遇到了同样的问题。我想重新安装activeadmin。重新安装后,如果尝试127.0.0.1:3000/admin/login

,webrick会给我这个错误代码
ActionView::Template::Error (undefined method `new_password_path' for#<#<Class:0x007fc7ef1a3d08>:0x007fc7ef1a2f70>):

并且渲染的视图看起来也不是很好。我想我不得不满足一些宝石依赖。通过bundle install我更新sass - 从3.4.16更新到3.4.14 - 和arel - 从6.0.0更新到6.0.2。然后它工作得很好。奇怪的是,在我重新安装activeadmin rails g active_admin:install之前,我更新了所有宝石。据我所知,activeadmin安装了所需的软件包,我暂时没有触摸Gemfile