我在rails 2.3.2上使用ruby并使用acts_as_taggable_on puglin。这产生了两个db表:标签和标签。
由于我不再需要这些,我没有创建Tag模型,例如。现在项目更加成熟,我需要为标签创建一些方法,所以我创建了一个包含一些方法的Tag模型。
模型看起来像这样:
class Tag < ActiveRecord::Base
def self.get_parent
parent = Tag.find(self.parent_id)
return parent
end
end
当我从控制器调用它时,它将找不到该方法。这是代码:
tag = Tag.find(tag_id)
the_parent = tag.get_parent
这会抛出错误说:
undefined method `get_parent' for #<Tag id: 13, name: "Historia", parent_id: 12>
我不知道出了什么问题。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以将get_parent定义为ClassMethod,并将其称为实例方法
def get_parent
...
end
答案 1 :(得分:0)
我解决了。问题是,当我使用acts_as_taggable_on插件时,Tag模型已经在其文件夹中定义。所以,我在那里添加了方法并且它有效。