没有属性的Rails完整错误消息

时间:2019-11-27 15:06:17

标签: ruby-on-rails ruby-on-rails-6

我无法摆脱错误消息中的属性。 (我想知道为什么这不是默认行为)

控制器

if @item.save
      ...
 else
   format.html { redirect_to [@profile, :items], alert: @item.errors.full_messages}
end

it.yml

 it:
  errors:
    format: "%{message}"

View.html

<% if alert %>
    <% Array.wrap(alert).each do |msg| %>
        <%=msg%>
    <% end %>
<% end %>

但是我得到了这个输出

属性名称我的自定义消息

1 个答案:

答案 0 :(得分:3)

使用messages代替full_messages

@item.errors.messages.values.flatten

messages返回一个散列,该键显示验证错误是什么,您可以简单地获取并展平所有值。

{ :email=>["Another record exists with this email."]}, ... } # for example