0

我有这个 gem (active_nutrition),它基本上已经将一堆表导入到我的数据库中。gem 带有方法等,可以轻松地从导入的表中获取信息。

但是,我现在想从这些表中查询一些信息,但因为它是一个宝石,我似乎无法查询。

例如,

ClassName.all()会给我错误

NoMethodError: undefined method 'all' for ActiveNutrition::Objects::ClassName:Class

那么,尽管表来自 gem,是否可以查询?

编辑:

gem 中的类如下所示:

    module ActiveNutrition
       module Models
         class ClassName < ActiveRecord::base

另外,我提出的具体查询是Weight.all()

编辑:

我想我想通了。我不认为 rails 喜欢复合 ID,这是Weight表格特别使用的。所有其他表都有自己的 ID,所以我可以很好地查询它们。

因此,所有其他表都显示为模型,但Weight显示为对象。

4

2 回答 2

0

任何扩展的类ActiveRecord::Base都可以使用方法all,find和其他方法。

我建议您查看源代码 -以下类扩展了 ActiveRecord。所以也许你在查询错误的类?

于 2013-05-02T18:54:15.363 回答
0

属于这个 gem 的类很可能不是从 ActiveRecord 扩展的。您可以简单地制作自己的模型,这些模型将位于这些表之上,然后使用这些模型进行查询

于 2013-05-02T18:56:33.257 回答