I have two models:
Post:
has_many :votes
Vote:
belongs_to :post
when i do:
v = Vote.find(1)
I can access all the post information.
If I get a post, howerver:
p = Post.find(1)
And try to get the votes:
total = p.votes.count
I get an undefined method error.
The foreign keys are correct, and I can’t seem to figure this out.
Basically what I need is to be able to do:
p.votes.count
But instead of an amount, I get this:
NoMethodError: undefined method votes' for #<Post:0x4b2e7c0> from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/ active_recor d/base.rb:1792:in
method_missing’
I can do this:
v.post.title
=> “This is the post title.”
So as you can see, I am able to access the post information by
accessing a particular vote, but I can’t get all votes for a single
post.
Thoughtware.tv wrote:
Basically what I need is to be able to do:
p.votes.count
But instead of an amount, I get this:
NoMethodError: undefined method votes' for #<Post:0x4b2e7c0> from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/ active_recor d/base.rb:1792:in
method_missing’
I can do this:
v.post.title
=> “This is the post title.”
So as you can see, I am able to access the post information by
accessing a particular vote, but I can’t get all votes for a single
post.
In your Post class you need to look carfuly at your ‘has_many :votes’
statement. Does it exist? Is ‘:votes’ spelled correctly and is it a
symbol or string?
The error message you are posting has nothing to do with the database
setup, it is is saying that the Model you are using is not set up the
way you think. If this doesn’t solve your problem, it would be helpful
to see the relevant code from your Post class.
Its a symbol and it has_many :votes as I sated above, I checked once
again.
I will post the relevant code.
On Feb 7, 2:52 pm, Starr T. [email protected]