Showing ...views/devise/sessions/new.html.erb where line #3 raised:
undefined method `new' for nil:NilClass
Extracted source (around line #3):
<h2>Sign in</h2>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
中的情况完全相同Registrations
,并且实际上我们已经配置了所有设计路线。
目前尚不清楚最近的哪个变化导致了这种情况。
我们已经尝试过:*
- 项目清单
- 数据库:重置
- 重新安装设备
- 完全重建所有设计模型、路线和表格
它总是同样的错误:
undefined method `new' for nil:NilClass
关于 stackoverflow 的其他问题似乎是针对其他方法的,例如[]
, new
... authorize
new for nil 是我们得到的唯一一个。任何想法都非常感谢。
编辑
user.rb(模型)
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
has_many :journeys # n.b: must pluralize here.
end
路线(用户路线)
user_registration_path POST /users(.:format) devise/registrations#create
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
users_path GET /users(.:format) users#index
POST /users(.:format) users#create
routes.rb devise_for :admins devise_for :users 资源 :users
get 'journeys', to: 'users#journeys'
resources :journeys
root to: "static#index"
get '/journey/new', to: 'journeys#new' # For some reason "resources :journeys" isn't activating the new method.
get '/admins/add_admin', to: 'admins#add_admin'
devise_scope :user do
get 'users/sign_out', to: 'session#destroy'
# Don't need to define sign_in here, because it works already (unlike admin).
end
devise_scope :admin do
get 'admins/sign_out', to: 'devise/sessions#destroy'
get 'admins/sign_in', to: 'devise/sessions#new'
end