13

我正在尝试添加一个 counter_cache 并且这个 Rails 3 迁移给了我一个我似乎无法解决的错误。

迁移是

类 AddItemsCountToStore < ActiveRecord::Migration
    def self.up
        add_column :stores, :items_count, :integer, :default => 0

        store.reset_column_information

        store.all.each 做 |store|
            store.update_attribute :items_count, store.items.count
        结尾
    结尾

    def self.down
        remove_column:商店,:items_count
    结尾
结尾

错误是:

== AddItemsCountToStore: 迁移 ==========================================--add_column( :stores, :items_count, :integer, {:default=>0}) -> 0.0680s rake 中止!发生错误,此迁移和所有后续迁移均已取消:

items_count 被标记为只读 C:/Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.0/lib/active_record/persistence.rb:115:in `update_attribute'

有任何想法吗?

4

0 回答 0