Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## in application.rb
- # Custom directories with classes and modules you want to be autoloadable.
- config.autoload_paths += %W(#{Rails.root}/app/workers
- #{Rails.root}/lib/validators
- #{Rails.root}/lib/content_items
- #{Rails.root}/lib/booher_modules
- )
- ## in lib/booher_modules, mongoid_counter_cache.rb
- module Mongoid
- module CounterCache
- extend ActiveSupport::Concern
- module ClassMethods
- def counter_cache(options)
- name = options[:name]
- counter_field = options[:field]
- after_create do |document|
- relation = document.send(name)
- relation.collection.update(relation._selector, {'$inc' => {counter_field.to_s => 1}})
- end
- after_destroy do |document|
- relation = document.send(name)
- relation.collection.update(relation._selector, {'$inc' => {counter_field.to_s => -1}})
- end
- end
- end
- end
- end
- ## model (vote.rb)
- class Vote
- include Mongoid::Document
- include Mongoid::Timestamps
- include Mongoid::CounterCache
- ## error on rails c
- Users/Tim/Sites/polco/app/models/vote.rb:4:in `<class:Vote>': uninitialized constant Mongoid::CounterCache (NameError)
- from /Users/Tim/Sites/polco/app/models/vote.rb:1:in `<top (required)>'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:66:in `load_model'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:41:in `block (2 levels) in load_models'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:40:in `each'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:40:in `block in load_models'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:39:in `each'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:39:in `load_models'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/rails/mongoid.rb:51:in `preload_models'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/bundler/gems/mongoid-ccae125ccfd8/lib/mongoid/railtie.rb:96:in `block (2 levels) in <class:Railtie>'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/gems/activesupport-3.1.0/lib/active_support/callbacks.rb:404:in `_run_prepare_callbacks'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/gems/activesupport-3.1.0/lib/active_support/callbacks.rb:81:in `run_callbacks'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@cba/gems/actionpack-3.1.0/lib/action_dispatch/middleware/reloader.rb:46:in `prepare!'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `instance_exec'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `run'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/initializable.rb:50:in `block in run_initializers'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `each'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `run_initializers'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/application.rb:92:in `initialize!'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
- from /Users/Tim/Sites/polco/config/environment.rb:7:in `<top (required)>'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/application.rb:78:in `require_environment!'
- from /Users/Tim/.rvm/gems/ruby-1.9.2-p290@global/gems/railties-3.1.0/lib/rails/commands.rb:39:in `<top (required)>'
- from script/rails:6:in `require'
- from script/rails:6:in `<main>'
Add Comment
Please, Sign In to add comment