1

私はRailsの3.1にルビーを使用していると私はcounter_cacheない共通idキーにしているprimary_keybelongs_toの関連付けを希望異なる適切にカウンター機能を追加するために関連する移行を実行します。トラブル「PRIMARY_KEY」「ID」

add_column :authorizations, :users_count, :integer, :default => 0 

User.reset_column_information 
User.find_each do |user| 

    # By using the following code I get a "undefined method `counter_cache_column' 
    # for nil:NilClass" error 
    User.reset_counters(user.id, :authorization) 

    # I also tried the following code but it still doesn't work. 
    # 
    # User.reset_counters(user.users_authorization_system_name, :authorization) 
    # 
    # I get a "Couldn't find User with id=default" error when migrating. 
    # 
end 

何が悪い:私は私のマイグレーションファイルで

class User < ActiveRecord::Base 
    belongs_to :authorization, 
    :class_name => 'Authorization', 
    :foreign_key => 'authorization_name', 
    :counter_cache => :users_count 
end 

class Authorization < ActiveRecord::Base 
    self.primary_key = "name" 

    has_many :users, 
    :class_name => 'User', 
    :primary_key => "name", 
    :foreign_key => "authorization_name" 
end 

:私はこれらのクラスを持っている、ある

?私のクラスにcounter_cacheの機能を追加することは可能ですか?もしそうなら、どうしたらいいですか?

答えて