0

私の問題は、送信が成功しなかった場合にモーダルをエラーで表示することです。

AJAX を試す必要がありますか、それなしで実行できますか?

登録コントローラーをオーバーライドする必要がありますか?

4

1 に答える 1

2

例えば:

いくつかの検証を行ったモデル ユーザー:

class User < ActiveRecord::Base
  validates :name,        :uniqueness => { :case_sensitive => false },
                          :presence => true
  validates :email,       :uniqueness => { :case_sensitive => false },
                          :presence => true,
  ...
end

共有パーシャルを使用して、フォーム内のデータの保存を妨げるエラーを表示します。

_error_messages.html.erb

<% if object.errors.any? %>
  <div id="error_explanation">
  <h3><%= pluralize(object.errors.count, "error") %>
    prohibited this <%= object.class.to_s.underscore.humanize.downcase %>
    from being saved:</h3>
  <p>There were problems with the following fields:</p>
  <ul>
  <% object.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
  </div>
<% end %>

新しいユーザーを作成または編集するフォームで:

<%= form_for(@user) do |f| %>
  <%= render 'shared/error_messages', :object => f.object %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
...
于 2012-06-11T10:55:02.313 に答える