Diseñe la forma dentro de una vista diferente “método indefinido` ‘para nil: NilClass “

Así que estoy tratando de hacer más o menos lo mismo que la forma Devise dentro de un controlador diferente

Formulario de inicio de sesión exactamente en otra página

Tengo un módulo de ayuda que tiene

def resource_name :user end def resource @resource ||= User.new end def devise_mapping @devise_mapping ||= Devise.mappings[:user] end 

pero estoy obteniendo el método indefinido `[] ‘para nil: NilClass en la línea

  true %>

Puse en views / devise / session / new.html.erb

y obtuve RuntimeError en Inicio # index #User no inicializado

 

Sign in

resource_name, :url => user_session_path(resource_name)) do |f| %>

true %>

Y también probé esto para el módulo de ayuda.

 def resource_name :user end def resource @resource = User.new end def devise_mapping @devise_mapping = Devise.mappings[:user] end 

En el índice Home #, tengo los siguientes

 
"devise/sessions/new" %>

El error “método indefinido` [] ‘para nil: NilClass “desaparecerá si las vistas / devise / session / new.html.erb se editan

  @user, :url => user_session_path(@user)) do |f| %> 

pero si coloca nuevamente en views / devise / session / new.html.erb

todavía obtendrá #User no inicializado>

En user.rb

 devise :database_authenticatable, :registerable, :confirmable, :recoverable, :rememberable, :trackable, :validatable 

En application_controller.rb

 class ApplicationController < ActionController::Base protect_from_forgery helper :all end 

utilizando ‘Rails’, ‘3.2.11’

No estoy seguro de por qué el módulo de ayuda no funciona de la manera que supone ser para el recurso. ¿Alguien puede ayudarme a entender por qué? y ¿por qué obtener el “método indefinido` [] ‘para nil: NilClass “?

Gracias de antemano.

Creo que esta linea

 <%= form_for(:user, :as => @user, :url => user_session_path(@user)) do |f| %> 

debiera ser

 <%= form_for(@user, :as => :user, :url => user_session_path(@user)) do |f| %>