我有一个模型,它有一个标准的验证方法,但有严格的选项和自定义的异常。
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
模块。
答案 0 :(得分:1)
对于问题描述不佳,我很抱歉。似乎问题是在rails中没有加载放置Exceptions
模块的lib目录。我需要添加
config.autoload_paths += %W(#{config.root}/lib)
到我的application.rb文件