【问题标题】:Query tables imported via Rails gem查询通过 Rails gem 导入的表
【发布时间】:2013-05-02 18:50:11
【问题描述】:

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

但是,我现在想从这些表中查询一些信息,但因为它是一个 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 显示为对象。

【问题讨论】:

    标签: ruby-on-rails object activerecord gem


    【解决方案1】:

    任何扩展ActiveRecord::Base 的类都可以使用allfind 等方法。

    我建议您查看源代码 - the following classes 扩展了 ActiveRecord。那么也许您查询的是错误的类?

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多