Ruby on rails 从验证错误消息中删除字段名
在Rails3中,我不想在错误消息中显示字段名。有人知道怎么做吗Ruby on rails 从验证错误消息中删除字段名,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在Rails3中,我不想在错误消息中显示字段名。有人知道怎么做吗 validates_presence_of :title, :message => "no title" 它表明 Title no title 我想要 no title 在表单视图中更改当前代码 <%@object.errors.full_messages.each do |msg| %> <li><%= msg %></li>
validates_presence_of :title, :message => "no title"
它表明
Title no title
我想要
no title
在表单视图中更改当前代码
<%@object.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
用这个
<%@object.errors.messages.values.each do |msg| %>
<%msg.each do |m| %>
<li><%= m %></li>
<%end %>
<% end %>
另请参见:这对我们很有效(Rails 4):
这在Rails 4(haml)中对我很有效:
如果更改元素的标签,将影响错误消息标签。因此,如果将其更改为空字符串,则只会呈现消息:
-# reviews/_form.html.haml
= form_for review do |form|
= form.label :rating, (review.errors[:rating] ? "" : "Rate this Item" )
您可以使用以下Gem 可以在消息值的开头使用“^”字符。它只会显示后面的字符
validates_presence_of :title, :message => "^no title"
您还可以使用以下Gem
使用Rails 4.0.2,删除了错误消息文本,只留下项目符号。^无效。您必须使用gem。我正在我的项目中使用它。@riley为Metat's not duplicate工作。你得到答案了吗?
%ul
- @some_object.errors.messages.each do |message|
%li= message[1][0]
-# reviews/_form.html.haml
= form_for review do |form|
= form.label :rating, (review.errors[:rating] ? "" : "Rate this Item" )
validates_presence_of :title, :message => "^no title"