Hello i got this:
<%Payment.find_all.each do |p|%>
it throw :
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.name
this means that it couldn't find a member record for that particular
instance of a payment object. So for that payment object, userid
would be nil, which means you can't dereference it to obtain a user.
A few comments about your code:
1) don't use find_all, it's been deprecated. Use Payment.find(:all) instead
2) put your finders in your controller, that's where they belong. Use
@payments = Payment.find(:all) and then in your view do something like
<% @payments.each do |payment| %>
but if i do the same in the script/console it just do it fine, but at
the end of all it throw the same thing:
class Payment < ActiveRecord::Base
belongs_to :member, :foreign_key=>:userid
you don't need to use set_table_name here, the associated table name
will by default be called 'payments'
the rails convention for foreign key naming is to use classname_id.
So you should get into the habit of using user_id to reference a User
object. In this case it doesn't really matter, but you might as well