Ruby on rails 型号';调用时无法识别的s方法

Ruby on rails 型号';调用时无法识别的s方法,ruby-on-rails,acts-as-taggable,Ruby On Rails,Acts As Taggable,我正在使用ruby on rails 2.3.2,也在puglin上使用acts_as_taggable_。这为我生成了两个db表:tags和taggings 例如,由于我不需要从中获得更多信息,所以我没有创建标记模型。现在项目更成熟了,我需要为标记创建一些方法,所以我创建了一个标记模型,其中包含一些方法 模型的外观如下所示: class Tag < ActiveRecord::Base def self.get_parent parent = Tag.find(self.p

我正在使用ruby on rails 2.3.2,也在puglin上使用acts_as_taggable_。这为我生成了两个db表:tags和taggings

例如,由于我不需要从中获得更多信息,所以我没有创建标记模型。现在项目更成熟了,我需要为标记创建一些方法,所以我创建了一个标记模型,其中包含一些方法

模型的外观如下所示:

class Tag < ActiveRecord::Base

  def self.get_parent
    parent = Tag.find(self.parent_id)

    return parent
  end
end
这将抛出一个错误,说明:

undefined method `get_parent' for #<Tag id: 13, name: "Historia", parent_id: 12>
未定义的方法“获取父对象”#

我不知道怎么了。任何帮助都将不胜感激。

您将get\u parent定义为类方法,并将其称为实例方法


def get_parent
 ...
end

我解决了。问题是,当我在插件上使用acts_as_taggable_时,标签模型已经在其文件夹中定义。因此,我在其中添加了该方法,它成功了。

我尝试了这个方法,但没有成功,一些朋友告诉我将其更改为def self.get_parent,但也没有成功。

def get_parent
 ...
end