验证严格,自定义异常不起作用

时间:2015-05-28 15:45:09

标签: ruby rails-activerecord ruby-on-rails-4.2

我有一个模型,它有一个标准的验证方法,但有严格的选项和自定义的异常。

class Comment < ActiveRecord::Base
     validates :resource,:user,:body,
                presence: true,
                strict: Exceptions::InvalidRequestParams
end

异常模块处于控制器问题,测试工作正常,app也是如此。但是当我尝试通过rails console访问特定注释(比如Comment.find(1))时,它会抛出一个

NameError for Comment::Exceptions

我知道在模型中调用基于控制器的异常是一个不好的做法,但我不知道为什么测试正在传递并引发想要的错误,并且应用程序正常工作但控制台有问题。

有什么建议吗?

更新:似乎我的测试也不喜欢验证。我不明白为什么它会自动寻找Comment::Exceptions而不是纯Exceptions模块。

1 个答案:

答案 0 :(得分:1)

对于问题描述不佳,我很抱歉。似乎问题是在rails中没有加载放置Exceptions模块的lib目录。我需要添加

config.autoload_paths += %W(#{config.root}/lib)

到我的application.rb文件