nanouk
July 12, 2007, 12:28pm
1
def summary
@most_recent_fails = Run.find(:all, :order => ‘id DESC’)
@fails_pages , @most_recent_fails = paginate :most_recent_fails,
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
end
Brings up the following error:
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
Any ideas why?
nanouk
July 12, 2007, 12:33pm
2
Paul N. wrote:
def summary
@most_recent_fails = Run.find(:all, :order => ‘id DESC’)
@fails_pages , @most_recent_fails = paginate :most_recent_fails,
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
end
Brings up the following error:
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
Any ideas why?
How and where do you set up @run (for use in @run.id )?
Roberto Gattinoni.
nanouk
July 12, 2007, 12:34pm
3
Roberto Gattinoni wrote:
Paul N. wrote:
def summary
@most_recent_fails = Run.find(:all, :order => ‘id DESC’)
@fails_pages , @most_recent_fails = paginate :most_recent_fails,
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
end
Brings up the following error:
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
Any ideas why?
How and where do you set up @run (for use in @run.id )?
Roberto Gattinoni.
Ahh, i haven’t.
I guess it should be changed to @most_recent_fails ?
nanouk
July 12, 2007, 12:36pm
4
Paul N. wrote:
def summary
@most_recent_fails = Run.find(:all, :order => ‘id DESC’)
@fails_pages , @most_recent_fails = paginate :most_recent_fails,
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
end
Notice there’s a will_paginate plugin which seems to be the preferred
way to do pagination these days.
–
Cheers,
nanouk
July 12, 2007, 2:37pm
5
Paul N. wrote:
Roberto Gattinoni wrote:
Paul N. wrote:
def summary
@most_recent_fails = Run.find(:all, :order => ‘id DESC’)
@fails_pages , @most_recent_fails = paginate :most_recent_fails,
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
end
Brings up the following error:
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
Any ideas why?
How and where do you set up @run (for use in @run.id )?
Roberto Gattinoni.
Ahh, i haven’t.
I guess it should be changed to @most_recent_fails ?
@most_recent_fails is a collection (result of your Run.find)
Why do you put a condition in the paginate plugin and not in the
Run.find? After all if I understand correctly you are trying to filter
the Run model, so why don’t you do that before paginating? You should
explain where does @run.id come from (a previous form, a user selection,
…).
Roberto Gattinoni.
nanouk
July 14, 2007, 9:08pm
6
Paul N. wrote:
:per_page => 2, :conditions => [‘run_id=?’, @run.id ]
Called id for nil, which would mistakenly be 4 – if you really wanted
the id of nil, use object_id
That’s the standard “whiny” error message you get when you call nil.id.
id is a (deprecated) member of Object, and an important member of any
ActiveRecord model. So one of your models is nil - probably @run .
Tip: better delimiters and linefeeds would have helped you spot the
error
faster:
@fails_pages, @most_recent_fails =
paginate(
:most_recent_fails,
:per_page => 2,
:conditions => ['run_id=?', @run.id])
–
Phlip
Test Driven Ajax (on Rails) [Book]
“Test Driven Ajax (on Rails)”
assert_xpath, assert_javascript, & assert_ajax
nanouk
July 12, 2007, 8:10pm
7
refer to the following post for more information about paginating result
sets:
http://tinyurl.com/35m7e7
Mike