L'affichage simple_form messages d'erreur en haut <div>
J'ai les deux _forms:
formulaire utilisateur
<%= simple_form_for(@user, :url => @target) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.input :email, :label => "User Email" %>
<%= f.input :password, :label => "User Password" %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.button :submit %>
<% end %>
locataire formulaire
<%= simple_form_for(@tenant, :url => @target) do |f| %>
<% if @tenant.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@tenant.errors.count, "error") %> prohibited this tenant from being saved:</h2>
<ul>
<% @tenant.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.input :name, :label => 'Name', :required => true %>
<%= f.input :billing_email, :label => 'Email', :required => true %>
<%= f.input :country, :label => 'Country', :required => true %>
<%= f.button :submit %>
<% end %>
Je suis tombé sur le post suivant de stackoverflow f.error_messages dans les Rails 3.0
Ici, il ya la méthode de manière à ce que les messages d'erreur peuvent être renvoyés à partir de la simple formulaire à l'aide de f.error_messages mais j'ai été incapable de le faire fonctionner comme je ne suis pas sûr whereabout cette méthode doit être enregistré. Quelqu'un a un indice? La méthode est comme suit:
class StandardBuilder < ActionView::Helpers::FormBuilder
def error_messages
return unless object.respond_to?(:errors) && object.errors.any?
errors_list = ""
errors_list << @template.content_tag(:span, "There are errors!", :class => "title-error")
errors_list << object.errors.full_messages.map { |message| @template.content_tag(:li, message) }.join("\n")
@template.content_tag(:ul, errors_list.html_safe, :class => "error-recap round-border")
end
end
OriginalL'auteur Jay | 2012-06-06
Vous devez vous connecter pour publier un commentaire.
Juste ajouter d'erreur: false pour vos entrées, ce ne sera pas effacer le css, mais de dégager le inline erreurs
Edit:
De http://ruby.railstutorial.org/book/ruby-on-rails-tutorial
/app/views/shared/_error_messages.html.erb
en VUE
J'aime cette mise en œuvre de l'aide partielle pour les erreurs de forme, cool!
À l'aide de
<li>* <%= msg %></li>
est un peu bizarre depuis le<li>
déjà produit une balle. Pourrait envisager de les retirer, c'est à dire à l'aide de<li><%= msg %></li>
à la place.dépend de votre css. Je voulais
*
au lieu de balles et je la sens prête plus à l'importance d'un élément.Astuce: si vous mettez de la partielle dans
app/views/application
au lieu deapp/views/shared
ensuite, vous pouvez faire<%= render 'error_messages', object: f.object %>
au lieu de<%= render 'shared/error_messages', object: f.object %>
.OriginalL'auteur engineersmnky