act-as-taggable-on プロパティがいくつかあるモデルの CSV をインポートしようとしています。タグはコンマで区切られているので、このように CSV をインポートする基本的な rake タスクを書くことができます
CSV.foreach(filename, :headers => true) do |row|
Post.create!({
:title => row[0],
:description => row[1],
:body => row[2],
:location_list => row[3].split(','),
:topic_list => row[4].split(',')
})
end
しかし、一括CSVインポート用のgemがすでにあるActive Adminでこれをやろうとしています - https://github.com/activeadmin-plugins/active_admin_import
gem はデータベース内の列のマッピングを処理していますが、最後の 2 列のコンマ区切りタグを持つ CSV は機能しません。これは、Post テーブルに「location_list」または「topic_list」列が別のテーブルにあるためです。 act-as-taggable-on gem によって管理されます。
before_batch_import
とを上書きする方法 after_batch_import
があるようですが、タグを正しくインポートできるように実際の batch_import プロセスを置き換える方法はありますか?