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