Rails:更改错误消息

时间:2012-11-22 02:07:15

标签: ruby-on-rails flash message

我的错误消息未自动显示,因此我决定使用 flash 作为解决方法。这就是我正在做的事情

控制器:

flash[:notice] = @post.errors.full_messages

查看:

<%= flash[:notice] %>

然后,我在我的视图中收到了这个丑陋的错误消息。

["Content can't be blank", "Content is too short (minimum is 10 characters)"] 

但至少,用户成功获取了错误消息。现在我需要自定义错误消息并使其看起来更漂亮。我想我可以将每个错误句子解析成一些局部变量并显示它们(有更复杂的方法吗?)。但是,我不知道如何自定义错误消息。例如,“内容不能为空”应更改为“您将内容留空”。我在哪里可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

当@post包含一些验证错误时,@post.errors.full_messages会返回验证期间发生的错误数组。

要很好地展示它们,您可能需要执行类似

的操作
<%- flash[:notice].each do |error| %>
  <%= error %>
<% end %>

修改 哎呀我误解了这个问题。

这些错误是模型中的验证错误,您可以使用

等验证

validates您可以传递自定义消息

validates :content, :presence => { :message => "You left the content blank" }

更新:请检查此链接以了解您的选项

http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates