Rails引入了验证模型内部属性的新方法。当我使用
validates :title, :presence => true
它有效,但是当我尝试添加自定义消息时
validates :title, :presence => true,:message => "Story title is required"
产生一个错误
Unknown validator: 'message'
Rails引入了验证模型内部属性的新方法。当我使用
validates :title, :presence => true
它有效,但是当我尝试添加自定义消息时
validates :title, :presence => true,:message => "Story title is required"
产生一个错误
Unknown validator: 'message'
Answers:
试试这个
validates :title, presence: { message: "Story title is required" }
=> true
这个答案哪里去了?没必要吗?
presence
。
:base
,例如errors.add(:base, "Story title is required)
实际上,我以更好的方式做到了这一点。如果要从消息中删除字段标题,则应在_form.htmk.erb视图中使用此标题:
如您在该视图内看到的:
<ul>
<% @article.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
替换为:
<ul>
<% @article.errors.each_with_index do |msg, i| %>
<li><%= msg[1] %></li>
<% end %>
</ul>