我的错误消息未自动显示,因此我决定使用 flash 作为解决方法。这就是我正在做的事情
控制器:
flash[:notice] = @post.errors.full_messages
查看:
<%= flash[:notice] %>
然后,我在我的视图中收到了这个丑陋的错误消息。
["Content can't be blank", "Content is too short (minimum is 10 characters)"]
但至少,用户成功获取了错误消息。现在我需要自定义错误消息并使其看起来更漂亮。我想我可以将每个错误句子解析成一些局部变量并显示它们(有更复杂的方法吗?)。但是,我不知道如何自定义错误消息。例如,“内容不能为空”应更改为“您将内容留空”。我在哪里可以解决这个问题?
答案 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