在我的ActiveModel::Validations#valid?
实例上调用@item
正在删除我的错误消息。最好以示例的方式显示。
[1] pry(#<ChangeObjectsController>)> @item.errors.add(:new_error, "new error has occurred")
=> ["new error has occurred"]
[2] pry(#<ChangeObjectsController>)> @item.errors.full_messages
=> ["Connection error has occurred", "New error new error has occurred"]
[3] pry(#<ChangeObjectsController>)> @item.valid?
=> true
[4] pry(#<ChangeObjectsController>)> @item.errors.full_messages
=> []
在我的模型类中,我包含验证库(注意它不会继承自 ActiveRecord::Base
):
include ActiveModel::Validations
extend ActiveModel::Naming
以这种方式添加错误消息: 任何人都可以澄清这个问题吗?例如,这是期望的行为,我使用不正确吗?
答案 0 :(得分:2)
这是正常行为。如果valid?
返回true,则会有不一致但有错误消息。您可以在rails source中看到valid?
明确清除错误消息。
添加错误消息的常规方法是通过验证,无论是内置还是自定义验证。