当我在特定文件上运行rspec时:
rspec spec/models/my_namespace/my_model_spec.rb
我遇到错误,因为rspec似乎没有加载app / models / my_namespace.rb,其中包含self.table_name_prefix
的声明。事实上,如果我使用pry并运行MyNamepsace.table_name_prefix # => NoMethodError: undefined method ``table_name_prefix'
。
当我尝试从Rails控制台(没有rspec)查询数据库时,它可以正常工作:MyNamespace::MyModel.where(foo:'bar') # => [...]
知道问题或修复是什么吗?
Rails 3.2.14,Ruby 1.9.3,Debian
答案 0 :(得分:1)
在spec文件的顶部:
require_relative '../../../app/models/my_namespace'
这将加载指定表前缀的命名空间文件。