Rails 4.2.0,Devise 3.4.1
我在另一个控制器中使用Devise注册表单。我想在同一页面上显示错误消息,但无法找到我的方式。这是代码
<h2>Sign Up</h2>
<%= form_for(:user, url: registration_path(:user)) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %>
</div>
<div class="field">
<%= f.label :password %>
<% if @validatable %>
<em>(<%= @minimum_password_length %> characters minimum)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>
此代码
<%= devise_error_messages! %>
抛出错误
NameError in StaticPages#home -undefined local variable or method `resource'
我不需要代码devise_error_messages!因为我的布局中已经有以下内容
<div class="alert alert-success"><%= notice %></div>
<div class="alert alert-danger"><%= alert %></div>
此外,我已成功注册后成功将用户重定向到自定义页面。但是,当注册失败时,路径会重定向到localhost / users。
我想在同一页面上显示错误消息。我尝试使用JSON,但它没有通过。知道我哪里弄错了吗?