我正在耙中止! posts_count被标记为只读错误。 我有两个模型:用户和post。 users has_many posts. posts belongs_to :user, :counter_cache => true 我有一个迁移,将posts_count列添加到users表,然后计算并logging每个用户的当前post数。 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 当我运行迁移时,我得到了错误。 这当然是非常明确的,如果我从post模型中删除:counter_cache声明,例如 belongs_to :user 迁移运行良好。 这显然是没有意义的,因为你不能这样真正实现它。 我错过了什么?