我在guide的评论中填写了validates_presence_of字段。如何在帖子页面上显示验证错误。我知道渲染,但有渲染我需要发送我在帖子页面上使用的所有变量。我是对的吗?
答案 0 :(得分:4)
我不相信需要插件。 Rails 3.x中的脚手架生成器就是这样做的:
<%= form_for(@model) do |f| %>
<% if @model.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@model.errors.count, "error") %> prohibited this model from being saved:</h2>
<ul>
<% @model.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%# Rest of form... %>
答案 1 :(得分:2)
如果您希望在视图中显示消息,请执行以下操作:
这就是你想要的..更多信息http://www.monochrome.co.uk/blog/2010/04/14/rails-3-error_messages-and-error_messages_for
`rails plugin install git://github.com/rails/dynamic_form.git`
<%= form_for @supermoon do |f| %>
<%= f.error_messages %>
rails 2.3中不需要插件(3.x中需要插件)
答案 2 :(得分:1)
您可以在@variable.errors.full_messages
{{1}}中查看这些验证错误(及其消息)。
答案 3 :(得分:0)
validates_presence_of有一个:message参数来自定义错误消息。
class Person < ActiveRecord::Base
validates_presence_of :user_name, :message => 'My custom error message'
end