从validation错误消息中删除字段名称

在rails 3中我不想在错误消息中显示字段名称。 谁知道怎么做?

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

表明

 Title no title 

我想要

 no title 

在表单视图中更改当前代码

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

    有了这个

      <%@object.errors.messages.values.each do |msg| %> <%msg.each do |m| %> 
  • <%= m %>
  • <%end %> <% end %>

    这对我们有用(Rails 4):

     <% resource.errors.each do |attr,msg| %> 
  • <%= msg %>
  • <% end %>

    这在Rails 4(haml)中对我有用:

     %ul - @some_object.errors.messages.each do |message| %li= message[1][0] 
     module ActiveModel class Errors def full_messages map { |attribute, message| message } end end end 

    另请参阅: 更改rails中显示的列名称

    您可以使用以下gem

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

    您可以在消息值的开头使用“^”字符。 它只会在此之后显示字符。

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

    您也可以使用以下Gem

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

    如果更改元素的标签,则会影响错误消息标签。 因此,如果您将其更改为空白字符串,它将仅呈现消息:

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