J'utilise acts-as-taggable-on 2.0.6 pour le balisage dans une application Rails 3.0.9. J'ai ajouté avec succès les attributs db-backed au modèle Tag, par exemple chaque tag a un flux RSS, donc je peux appeler @post.tags.first.feed_url
pour récupérer l'URL feedburner de ma base de données.Comment rendre les méthodes ActsAsTaggableOn :: Tag héritées du modèle de balise
Mais même si je peux ajouter des attributs au modèle de balise, il semble que je ne puisse pas ajouter de méthodes d'instance. J'ai créé la méthode d'instance:
class Tag < ActiveRecord::Base
...
def subscribable?
!feed_url.blank?
end
...
end
Mais quand je l'appelle @post.tags.first.subscribable?
je reçois l'erreur:
NoMethodError: undefined method `subscribable?' for #<ActsAsTaggableOn::Tag:0x00000100d32290>
Est-il possible de dire ActsAsTaggableOn::Tag
objets d'hériter des méthodes de modèle du modèle Tag
?
Votre réponse ressemblait à cela fonctionnerait, mais quand je remplace Tag 'class
Où passez-vous la classe? Vous pouvez essayer de le placer dans vos initialiseurs pour vous assurer qu'il est appliqué au démarrage du serveur. – MichaelAP
J'ai besoin du modèle de balise (et du contrôleur, des vues, etc.) pour que les utilisateurs puissent modifier une balise afin d'ajouter l'attribut feed_url que j'ai mentionné plus tôt. C'est dans le modèle que je remplace 'class Tag' par' class ActsAsTaggableOn :: Tag', ou 'class ActsAsTaggableOn :: Tag