2011-03-21 22 views
15

raylarda 3 alan adlarını hata mesajlarında göstermek istemiyorum. Bunu yapmayı bilen var mı?Doğrulama hata mesajından alan adını kaldırma

validates_presence_of :title, :message => "no title" 

o

Title no title 

ben bu

ile

 <%@object.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 

geçerli kod değiştirme, form görünümünde

no title 
+2

çoğaltmak değil Yani şu Gem kullanabilirsiniz. – hlcs

+0

Cevabınızı aldınız mı? –

cevap

27

istediğini gösteriyor
 <%@object.errors.messages.values.each do |msg| %> 
     <%msg.each do |m| %> 
      <li><%= m %></li> 
     <%end %> 
     <% end %> 
16

Bu bizim için çalıştı (Raylar 4):

%ul 
    - @some_object.errors.messages.each do |message| 
    %li= message[1][0] 
+1

Raylar 4.0.2'yi kullanarak, bu hata mesajı metnini kaldırdı ve yalnızca mermiyi bıraktı. – Deborah

2

Öğenin etiketini değiştirirseniz, hata mesajı etiketini etkiler.

-# reviews/_form.html.haml 
= form_for review do |form| 
    = form.label :rating, (review.errors[:rating] ? "" : "Rate this Item") 
0

: Bu Rails 4 (haml) benim için çalıştı

<% resource.errors.each do |attr,msg| %> 
    <li><%= msg %></li> 
<% end %> 
0

Aşağıdaki Gem

https://github.com/jeremydurham/custom-err-msg

Sen başında '^' karakterini kullanabilirsiniz kullanabilirsiniz: Eğer boş bir dizeye değiştirmek Yani sadece mesaj verecek mesaj değeri. Ve bundan sonra sadece karakterleri gösterecek.

validates_presence_of :title, :message => "^no title" 

Ayrıca

http://www.rubydoc.info/gems/dynamic_form/1.1.4

+4

^Çalışmıyor. – riley

+1

Gem'i kullanmanız gerekiyor. Projemde kullanıyorum. – Abhi

+2

@riley http://stackoverflow.com/a/40254247/365218 – Rystraum

İlgili konular