Один маленький нюанс :counter_cache
Илья • 18 июля 2007 г.
Если вы хотите использовать :counter_cache для своих ассоциаций, не забудьте что поле, в котором будет хранится количество связей, должно иметь дефолтовое значение 0, а не NULL, как это иногда бывает по-стандарту.
class AddCounterCaches < ActiveRecord::Migration
def self.up
add_column :posts, :comments_counter, :integer, :default => 0
end
def self.down
remove_column :posts, :comments_size
end
end
3 комментария:
Извините, но комментарии для этой статьи уже закрыты.

Что-то с русским языком в RSS случилось :(
есть еще параметр :null => false, который явно указывает на недопустимость NULL значений в таблице
Кстати, если иногда при наличии counter_cache, пробуем взять значение счетчика (типа user.posts_count) и получаем запрос в базу SELECT Count(*) FROM posts WHERE user_id = N; Вместо того, чтобы взять из аттрибута user.posts_count