2

我是 Rails 的新手,并且能够创建一个带有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"

models 可标记属性是 :tags ,并且 rocket_tag gem 正在尝试将其作为 taggings 表的列进行访问。

关于接下来要看什么的任何想法都会很棒。

谢谢

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 回答