伙计们怎么了?
我在我的项目中创建了一个迁移,将“likes_count”列添加到 Post:
def self.up
add_column :posts, :likes_count, :integer, :default => 0
Post.all().each do |post|
post.update_attribute(:likes_count, post.likes.count)
post.save
end
end
def self.down
remove_column :posts, :likes_count
end
好吧,它似乎有效,但是当我尝试将“counter_cache”添加到我的模型时,我遇到了麻烦。看:
has_many :likes, :counter_cache => true, :as => :important
是的,我在没有“:counter_cache => true”的情况下运行迁移,只是在迁移之后我添加了这个命令。奇怪的是,如果我做类似的事情
has_many :likes, :as => :important, #:counter_cache => true
我的本地主机再次工作。(我只收到错误消息:“我们很抱歉,但出了点问题。”)。
有人知道发生了什么吗?