如何使ActsAsTaggableOn ::标签继承方法从标签模式
问题描述:
我使用行为-AS-加标签-2.0.6在Rails 3.0.9应用程序标记。我已成功将数据库支持的属性添加到标记模型中,例如每个标记都有一个RSS源,因此我可以拨打@post.tags.first.feed_url
来从我的数据库获取feedburner URL。如何使ActsAsTaggableOn ::标签继承方法从标签模式
不过,虽然我可以将属性添加到标签的模式,似乎我不能添加实例方法。我创建的实例方法:
class Tag < ActiveRecord::Base
...
def subscribable?
!feed_url.blank?
end
...
end
但是,当我打电话@post.tags.first.subscribable?
我得到的错误:
NoMethodError: undefined method `subscribable?' for #<ActsAsTaggableOn::Tag:0x00000100d32290>
有没有办法告诉ActsAsTaggableOn::Tag
对象继承了Tag
模型模型的方法呢?
答
我想知道同样的事情。至于我已经尝试过,但不是为我工作..
class Tag < ActsAsTaggableOn::Tag
def total_count
...
end
end
当我把它在一个肮脏的链式例如,像这样:
my_model.my_instance.tag_counts_on(:tags).first.total_count
我得到一个
undefined method `total_count' for #<ActsAsTaggableOn::Tag id: 1, name: "first">
答
据我所知,你不应该宣布这样一个新的“标签”的模式,而是应该要重写类是这样的:
class ActsAsTaggableOn::Tag
def total_count
...
end
end
答
您需要添加此/config/initializers/tag_monkey_patch.rb
class ActsAsTaggableOn::Tag
def subscribable?
!feed_url.blank?
end
end
你的答案看起来像它的工作,但是当我更换'和'类ActsAsTaggableOn :: Tag'类标签 2013-01-26 14:31:36
你在哪里压倒班级?您可以尝试将它放入初始化程序中,以确保它在服务器启动时得到应用。 – MichaelAP 2013-01-28 20:36:01
我需要标记模型(以及控制器,视图等),以便用户可以编辑标记以添加前面提到的feed_url属性。这是在我替换'和'类ActsAsTaggableOn :: Tag',或者'类ActsAsTaggableOn ::标签 2013-02-08 16:39:24