在另一个控制器上设计错误消息

时间:2015-01-27 16:18:35

标签: ruby-on-rails devise

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,但它没有通过。知道我哪里弄错了吗?

0 个答案:

没有答案