Rails:调用其他模型的无表模型

时间:2010-11-11 04:01:41

标签: ruby-on-rails

我有一个包含几个模型类的Rails应用程序(例如CategorySubcategoryUser等。为了实现一个不太重要的过滤器功能,我构建了一个过滤器类层次结构:FilterCategoryFilterSubcategory等,它们派生自FilterBase。他们每个人都使用适当的“姐妹”模型类(例如Category.find :all)。

我很快意识到我不能简单地在不使用“require”的情况下调用“姐妹”模型类。但是,我现在怀疑使用“require”是我发布herehere的其他两个问题的主要原因,这可能会在config.cache_classes=false时搞乱类缓存。

我是否有另一种方式可以在不需要它们的情况下调用其他模型?

我尝试使用BaseWithoutTable插件,但是当我调用“姐妹模型”时,我最终得到“不是有效的常量描述符:nil”,这是因为Rails查找“FilterCategory::Category”而不是“ Category”。

有关最好方法的想法吗?

我正在使用Rails 2.3.8,Ruby 1.8.7。

谢谢, 阿米特

1 个答案:

答案 0 :(得分:1)

我想知道您是否需要::Category - 从顶级命名空间获取Category而不是将其范围限定为FilterCategory?

如果你的模型在app / models目录中,你不需要明确要求它们--Rails已经处理过了。