使用带有Rails 4的make_flaggable没有列“flaggings_count”

时间:2014-05-29 14:29:44

标签: ruby-on-rails sqlexception

我正在使用Rails 4应用程序,并安装了make_flaggable gem(在this video tutorial之后)以允许用户喜欢帖子。每当我尝试让用户像帖子一样(在浏览器或控制台上)时,它会不断向我显示此错误:

SQLite3 :: SQLException:没有这样的列:flaggings_count:UPDATE" posts" SET" flaggings_count" = COALESCE(" flaggings_count",0)+ 1 WHERE" posts"。" id" = 67

这是我喜欢的方法:

def like
  @post = Post.find(params[:id])
  current_user.flag(@post, :like)
  redirect_to posts_path, :notice => "You now like this post"
end

迁移看起来不错,是否发生在任何人身上? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

看起来它正在使用带有flaggings_count的counter_cache。

执行迁移并在posts表中添加flaggings_count列。

def change
  add_column :post, :flaggings_count, :integer
end