ast*_*enb 3 ruby-on-rails counter-cache ruby-on-rails-4
尽管据我所知我已正确完成了所有操作,但此计数器缓存似乎无法正常工作。
user.rb:
class User < ActiveRecord::Base
has_many :search_stats, counter_cache: true
end
Run Code Online (Sandbox Code Playgroud)
移民:
class AddSearchStatsCounterCacheToUsers < ActiveRecord::Migration
def up
add_column :users, :search_stats_count, :integer, default: 0, null: false
User.reset_column_information
User.find_each do |u|
u.update_attribute(:search_stats_count, u.search_stats.count)
end
end
def down
remove_column :users, :search_stats_count
end
end
Run Code Online (Sandbox Code Playgroud)
为什么不更新计数器?
user = User.find( user_id )
user.search_stats.create!( search_params: search_params.to_json )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
919 次 |
| 最近记录: |