Ruby on rails 轨道&x2B;设计未定义的方法`错误';零级:零级

Ruby on rails 轨道&x2B;设计未定义的方法`错误';零级:零级,ruby-on-rails,devise,Ruby On Rails,Devise,我在rails应用程序中使用Desive加载新注册页面时遇到问题。当我尝试加载注册页面时,出现以下错误: undefined method `errors' for nil:NilClass 这似乎是由以下几行引起的: <%= devise_error_messages! %> 注册\u controller.rb class RegistrationsController < Devise::RegistrationsController # GET /user/s

我在rails应用程序中使用Desive加载新注册页面时遇到问题。当我尝试加载注册页面时,出现以下错误:

undefined method `errors' for nil:NilClass
这似乎是由以下几行引起的:

 <%= devise_error_messages! %>
注册\u controller.rb

class RegistrationsController < Devise::RegistrationsController
  # GET /user/sign_up
  def new
    build_resource({})
    respond_with self.resource
  end
注册视图

<div class="signUpPage">

  <div class="form_container">

        <h3 class="form_heading sign_up">Sign up</h3>

        <%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>

          <%= devise_error_messages! %>

          <div class="formField"><%= f.label :username, :class=> "label label-info" %><br />
          <%= f.text_field :username, :class=> "signup_username", :maxlength=>"15"%></div>
          <div class="usernameValidation validation">Username is already taken</div>

          <div class="formField"><%= f.label :email, :class=> "label label-info" %><br />
          <%= f.email_field :email%></div>
          <div class="emailValidation validation">Email is already taken</div>

          <div class="formField"><%= f.label :password, :class=>"label label-info" %><br />
          <%= f.password_field :password, :class=> "signup_password" %></div>
          <div class="passwordValidation validation">Password must be at least 8 characters</div>

          <div class="formField"><%= f.label :password_confirmation, :class=>"label label-info" %><br />
          <%= f.password_field :password_confirmation %></div>
          <div class="passwordConfirmationValidation validation">Passwords do not match</div>

          <div><%= f.submit "Sign up", :class=>"btn btn-info signup_button" %></div>
        <% end %>

        <%= render "devise/shared/links" %>

    </div>
</div>

注册
资源名称:url=>注册路径(资源名称))do | f |%>
“标签信息”%>
“注册\用户名”:maxlength=>“15”%> 用户名已被占用 “标签信息”%>
电子邮件已被接收 “标签信息”%>
“注册密码”%> 密码必须至少为8个字符 “标签信息”%>
密码不匹配 “btn btn信息注册按钮”%>
这是完整的错误消息:

NoMethodError in Registrations#new

Showing Website/app/views/devise/registrations/new.html.erb where line #12 raised:

undefined method `errors' for nil:NilClass
Extracted source (around line #12):

9: 
10:             <%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), namespace: 'sign_up', html: {id: 'form_user_sign_up'}) do |f| %>
11:         
12:               <%= devise_error_messages! %>
13: 
14:               <div class="formField"><%= f.label :username, :class=> "label label-info" %><br />
15:               <%= f.text_field :username, :class=> "signup_username", :maxlength=>"15"%></div>
Rails.root: /Website

app/views/devise/registrations/new.html.erb:12:in `block in _app_views_devise_registrations_new_html_erb___65153715043208623_70149577578880'
app/views/devise/registrations/new.html.erb:10:in `_app_views_devise_registrations_new_html_erb___65153715043208623_70149577578880'
app/controllers/registrations_controller.rb:11:in `new'
注册中的命名错误#新增
显示网站/app/views/design/registrations/new.html.erb,其中第12行出现:
nil:NilClass的未定义方法“errors”
提取的源(第12行附近):
9: 
10:resource_name,:url=>registration_path(resource_name),命名空间:'sign_up',html:{id:'form_user_sign_'})do | f |%>
11:         
12:               
13: 
14:“标签信息”%>
15:“注册\用户名”,:maxlength=>“15”%> Rails.root:/web站点 app/views/design/registrations/new.html.erb:12:in'block in_app_views_design_registrations_new_html_erb_65153715043208623_70149577578880' app/views/design/registrations/new.html.erb:10:在“app\u views\u design\u registrations\u new\u html\u erb\u 65153715043208623\u 70149577578880”中 app/controllers/registrations\u controller.rb:11:in'new'
新注册路径(资源名称)中的
资源名称是什么?它是在哪里定义的?另外,您可以共享“注册”视图吗?我编辑了我的问题,以包括我的应用程序\u helper.rb(它定义了资源\u名称)和“注册”视图。您是在同一页上注册和登录吗?登录在不同的页上
def resource_name
    :user
end

def resource
    @resource ||= User.new
end

def devise_mapping
    @devise_mapping ||= Devise.mappings[:user]
end
<div class="signUpPage">

  <div class="form_container">

        <h3 class="form_heading sign_up">Sign up</h3>

        <%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>

          <%= devise_error_messages! %>

          <div class="formField"><%= f.label :username, :class=> "label label-info" %><br />
          <%= f.text_field :username, :class=> "signup_username", :maxlength=>"15"%></div>
          <div class="usernameValidation validation">Username is already taken</div>

          <div class="formField"><%= f.label :email, :class=> "label label-info" %><br />
          <%= f.email_field :email%></div>
          <div class="emailValidation validation">Email is already taken</div>

          <div class="formField"><%= f.label :password, :class=>"label label-info" %><br />
          <%= f.password_field :password, :class=> "signup_password" %></div>
          <div class="passwordValidation validation">Password must be at least 8 characters</div>

          <div class="formField"><%= f.label :password_confirmation, :class=>"label label-info" %><br />
          <%= f.password_field :password_confirmation %></div>
          <div class="passwordConfirmationValidation validation">Passwords do not match</div>

          <div><%= f.submit "Sign up", :class=>"btn btn-info signup_button" %></div>
        <% end %>

        <%= render "devise/shared/links" %>

    </div>
</div>
NoMethodError in Registrations#new

Showing Website/app/views/devise/registrations/new.html.erb where line #12 raised:

undefined method `errors' for nil:NilClass
Extracted source (around line #12):

9: 
10:             <%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), namespace: 'sign_up', html: {id: 'form_user_sign_up'}) do |f| %>
11:         
12:               <%= devise_error_messages! %>
13: 
14:               <div class="formField"><%= f.label :username, :class=> "label label-info" %><br />
15:               <%= f.text_field :username, :class=> "signup_username", :maxlength=>"15"%></div>
Rails.root: /Website

app/views/devise/registrations/new.html.erb:12:in `block in _app_views_devise_registrations_new_html_erb___65153715043208623_70149577578880'
app/views/devise/registrations/new.html.erb:10:in `_app_views_devise_registrations_new_html_erb___65153715043208623_70149577578880'
app/controllers/registrations_controller.rb:11:in `new'