簡體   English   中英

以范圍自定義形式呈現設計錯誤消息

[英]Rendering devise error messages in scoped custom form

我必須設計模型, UserVendor 我為供應商生成了視圖,並根據自己的需要定制了注冊表單。 我需要調整供應商的注冊控制器,如下所示:

控制器/供應商/registrations_controller.rb

class Vendors::RegistrationsController < Devise::RegistrationsController
    skip_before_filter :require_no_authentication
    def create
        super
    end

    protected

    def sign_up(resource_name, resource)
        true
    end

    def new
        super
    end
end

我的供應商注冊視圖如下所示:

視圖/供應商/注冊/new.html.erb

<h2>Sign up</h2>

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:multiparet => :true} ) do |f| %>
  <%= devise_error_messages! %>

    <div><%= f.label :store_name %>
    <%= f.text_field :store_name %></div>

      <div><%= f.label :contact_name %>
    <%= f.text_field :contact_name%></div>

      <div><%= f.label :contact_phone %>
    <%= f.text_field :contact_phone %></div>

      <div><%= f.label :address %>
    <%= f.text_field :address %></div>

      <div><%= f.label :image %>
    <%= f.file_field :image %></div>

  <div><%= f.label :email %>
  <%= f.email_field :email, :autofocus => true %></div>

  <div><%= f.label :password %>
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %>
  <%= f.password_field :password_confirmation %></div>

  <div><%= f.submit "Sign up" %></div>
<% end %>

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

當我嘗試呈現頁面時,出現以下錯誤:

undefined method `errors' for nil:NilClass

在這種情況下,如何呈現設計錯誤消息? 提前致謝!

我會將其寫為評論,但將其作為答案更容易閱讀:

也許您可以嘗試替換devise_error_messages! 標准的Rails錯誤顯示:

<% if resource.errors.any? %>
    <div class="error">
        <strong><%= pluralize(resource.errors.count, "Error") %></strong>
        <ul>
            <% resource.errors.each do |attr,msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    </div>
<% end %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM