this used to work for me. i started re-writing my little app and now it doesn''t work. here''s my models: class Company < ActiveRecord::Base has_many :people end class Person < ActiveRecord::Base belongs_to :Company, :counter_cache => true end then i go into my console and say: c = Company.find(:first) c.increment_counter and its all like "waaaaaaH" NoMethodError: undefined method `increment_counter'' for #<Company: 0x259e3b0> from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/ lib/active_record/base.rb:1792:in `method_missing'' from (irb):8 if i type: Company.inc and then hit tab, .increment_counter shows up. i''m confused. Rails 1.1.2 i do have a people_count column in my company table zuh?
Jeffrey L. Taylor
2006-Apr-25 18:16 UTC
[Rails] what happened to my increment_counter method?
Quoting travis laduke <wrong@socal.rr.com>:> this used to work for me. i started re-writing my little app and now > it doesn''t work. > > here''s my models: > class Company < ActiveRecord::Base > has_many :people > end > class Person < ActiveRecord::Base > belongs_to :Company, :counter_cache => true > end > > then i go into my console and say: > c = Company.find(:first) > c.increment_counterYou have to say which counter! A class can have more than one. But, that is probably a bad idea. You should use the proper Rails idiom and let the code handle it: c = Company.find(:first) c.people.create(... Jeffrey