2

私はレールを初めて使用し、acts_as_taggable をタグ付けに使用してアプリを作成することができました。タグとアクティブなリレーションを同時に簡単に検索できるので、rocket_tagに切り替えています。

インストールの指示に従ったところ、正しいテーブルが作成されました。問題は、タグを保存しようとするときです。コードは以下のとおりです。

class Performance < ActiveRecord::Base 
  attr_taggable :tags
  attr_accessible :description, :start, :tags

次に、データベースにデータを入力するとき

50.times do
  description = Faker::Lorem.sentence(5)
  start = Date.new(2008,12,30)
  users.each { |user| user.performances.create!(description: description, start: start, tags:["comedy"]) }
end

そして、私は以下のエラーを受け取ります

SQLite3::SQLException: no such column: taggings.tags: DELETE FROM "taggings" WHERE 
"taggings"."taggable_id" = 1 AND "taggings"."taggable_type" = 'Performance' 
AND "taggings"."context" = "taggings"."tags"

モデルのタグ付け可能な属性は :tags で、rocket_tag gem はタグ付けテーブルの列としてアクセスしようとしています。

次に何を見るべきかについてのアイデアは素晴らしいでしょう。

ありがとう

4

1 に答える 1

4

最新の squeel gem バージョン (1.0.5) で発生した、rocket_tag がタグ付けをロードする方法にバグがあります。

squeel を 1.0.1 に戻すか、ここから固定コードを使用できますhttps://github.com/bradphelan/rocket_tag/issues/16

于 2012-06-10T10:42:49.603 に答える