2

どうしたの?

「likes_count」列を投稿に追加するプロジェクトで移行を作成しました。

  def self.up
    add_column :posts, :likes_count, :integer, :default => 0
    Post.all().each do |post|
        post.update_attribute(:likes_count, post.likes.count)
          post.save         
    end
  end

  def self.down
    remove_column :posts, :likes_count
  end

うまくいったようですが、モデルに「counter_cache」を追加しようとすると問題が発生します。見て:

has_many :likes, :counter_cache => true, :as => :important

はい、「:counter_cache => true」なしで移行を実行します。この移行後にのみ、このコマンドを追加しました。奇妙なことに、私が次のようなことをすると

has_many :likes, :as => :important,  #:counter_cache => true

私のローカルホストは再び機能します。(「申し訳ありませんが、問題が発生しました。」というエラーのみが表示されます)。

誰かが何が起こっているか知っていますか?

4

1 に答える 1