J'essaie d'ajouter une commande counter_cache et cette migration de Rails 3 me donne une erreur que je n'arrive pas à résoudre.Erreur en lecture seule lors de l'exécution d'une migration de Rails 3 avec update_attribute
La migration est
class AddItemsCountToStore < ActiveRecord::Migration def self.up add_column :stores, :items_count, :integer, :default => 0 Store.reset_column_information Store.all.each do |store| store.update_attribute :items_count, store.items.count end end def self.down remove_column :stores, :items_count end end
et l'erreur est:
== AddItemsCountToStore: migrante ====================== ===================== - add_column (: stocke,: items_count,: integer, {: default => 0}) -> 0.0680s rake annulé! Une erreur est survenue, et ce toutes les migrations annulé par la suite:
items_count est marqué en lecture seule C: /Ruby192/lib/ruby/gems/1.9.1/gems/activerecord-3.0.0/lib/active_record/ persistence.rb: 115: dans `update_attribute '
Des idées?
duplication possible de [Problème avec l'implémentation counter \ _cache] (http://stackoverflow.com/questions/4295404/problem-with-counter-cache-implementation) – mbillard