我要'耙子中止了!...posts_count 被标记为只读的错误。
我有两个模型:用户和帖子。
users has_many posts.
posts belongs_to :user, :counter_cache => true
我有一个迁移,它将 posts_count 列添加到 users 表中,然后计算并记录每个用户的当前帖子数。
self.up
add_column :users, :posts_count, :integer, :default => 0
User.reset_column_information
User.all.each do |u|
u.update_attribute( :posts_count, u.posts.count)
end
end
当我运行迁移时,我得到了错误。当然,这是非常明确的,如果我从帖子模型中删除 :counter_cache 声明,例如
belongs_to :user
迁移运行良好。这显然没有意义,因为您无法以这种方式真正实现它。我错过了什么?