レーキが中止されました!...posts_countは読み取り専用のエラーとしてマークされています。
ユーザーと投稿の2つのモデルがあります。
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
移行は正常に実行されます。この方法で実際に実装することはできなかったため、これは明らかに意味がありません。私は何が欠けていますか?