0

如何将错误消息添加到@errors控制器上,然后将其显示在视图上,如:

<%= @question.errors[:tag][0] %>

带有标签的不是模型元素。

4

2 回答 2

1

查看Rails 验证指南的这一部分。他们通过创建一个自定义验证器来工作,该验证器只是将所需的错误消息附加到所需的哈希条目。

在您的情况下,这可能如下所示:

class Question < ActiveRecord::Base
  validates_with :tag_validator
end

class TagValidator < ActiveModel::Validator
  def validate(question)
    unless question.special?
      question.errors[:tag] << 'Not special enough.'
    end
  end
end
于 2013-02-28T08:00:15.557 回答
0

在 Rails 中处理错误消息分 3 个步骤完成,即。

  1. 使用rails-validation-helpers验证活动记录对象或创建由@chaleyc 指定的自定义验证器
  2. 使用 AR验证方法验证 ActiveRecord(AR) 对象
  3. 在视图上显示错误,创建视图助手是rails3 上的最佳实践通知和错误

这是一个很好的rails-cast让你开始

于 2013-02-28T15:42:17.343 回答