acts_as_taggable_on実装はかなりうまく機能しましたが、タグの別名も宣言する必要があります。Railsでacts_as_taggable_onを使ってタグの別名を宣言する方法は?
acts_as_taggable_with_aliasesというプラグインが見つかりましたが、最後のコミットは2009年であり、宝石リポジトリにはありませんので、今はプロジェクトが死んでいると思います。
これを達成する方法はありますか?
acts_as_taggable_on実装はかなりうまく機能しましたが、タグの別名も宣言する必要があります。Railsでacts_as_taggable_onを使ってタグの別名を宣言する方法は?
acts_as_taggable_with_aliasesというプラグインが見つかりましたが、最後のコミットは2009年であり、宝石リポジトリにはありませんので、今はプロジェクトが死んでいると思います。
これを達成する方法はありますか?
あなたはacts_as_taggable_with_aliases
のコードを見てみることができます。すべてが内側にあります。あなたはいつもそれがacts_as_taggable
と互換性があるかどうかを確認し、それを維持しようとするかどうか確認することができます。
たぶん、あなたは、この(とあなたが望む何かを)サポートするために、独自のモデルを作成することができます...
私はあなたのような何かを実行していることを達成することができると思う:
class Tag < ActiveRecord::Base
end
class Tagging < ActiveRecord::Base
validates_presence_of :tag_id
belongs_to :tag
belongs_to :taggable, :polymorphic => true
end
class ModelIWantToBeTagged < ActiveRecord::Base
include ModelTagging
has_many :taggings, :as => :taggable
end
module ModelTagging
def add_tag(tag_name)
tag = Tag.find_or_create_by_tag(tag_name)
tagging = Tagging.new
tagging.taggable_id = self.id
tagging.taggable_type = get_class_name
tagging.tag_id = tag.id
tagging.save!
end
def remove_tag(tag_name)
tag = Tag.find_by_tag(tag_name)
Tagging.where(:tag_id => tag).delete_all
end
private
def get_class_name
self.class.name
end
end
することができます。この道をあなたのタグへの行動やデータ
希望すると助かります!
あなたは '_with_aliases'がどのようにしたのかを知るためにソースを見ましたか? –