我的 Rails 3.2.11 项目中有一个名为 app/queries/visible_discussions.rb
的文件,如下所示:
class VisibleDiscussions
...
end
我想为查询命名空间,以便我可以使用 Queries::VisibleDiscussions
之类的东西来调用它,所以我尝试执行以下操作:
module Queries
class VisibleDiscussions
...
end
end
但是,当我尝试从 Rails 控制台调用 Queries::VisibleDiscussions
时,我收到未初始化的常量查询 (NameError)
。
有什么想法吗?
最佳答案
如果将 lib
添加到 autoload_paths,那么它将尊重 lib 下的命名空间 - lib/query/visible_discussions.rb
或者在应用程序下创建一个新目录 - 比如说 src,然后将代码嵌套在那里 - app/src/query/visible_discussions.rb
我会在您的帖子中使用第三种样式,即
module Query
class VisibleDiscussions
...
end
end
这两个解决方案都让我烦恼,可能有一种方法可以告诉rails到应用程序下的命名空间目录,但我不知道如何完成
关于ruby-on-rails - Rails 3 命名空间和自定义类的问题(未初始化常量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348891/