すべてのタグが ActsAsTaggableOn ::タグに格納されている(:ID:名)モデルと ActsAsTaggableOnを介してアクセスします::タグ付け可能(:ID:TAG_ID、:taggable_type、:taggable_id、:コンテキストなど)モデル。
act-as-taggableに切り替え、以前に追加したタグを失うことがないようにするには、taggable-onのデフォルト表を作成した後で、マイグレーションまたはレーキ・タスクを作成する必要があります。このよう
:
# In your model
acts_as_taggable_on :post_tags
# Rake task
require 'acts-as-taggable-on'
task :move_tags => [:environment] do
@posts = Post.all
Post.transaction do
Tag.transaction do
@posts.each do |p|
if p.tags.any?
p.update_attributes post_tag_list: p.tags.map(&:name)
p.tags.map(&:destroy)
end
end
end
end
end
# Now, if all is ok, you can drop both old tags and join table and remove associasions from your Post model.
私はこのスニペットをテストしていないが、私は成功した前に同じようなことをやりました。