On Mar 11, 2010, at 2:21 PM, Colin Law wrote:
On 11 March 2010 18:56, Chris Kalaboukis <[email protected]> wrote:
Hi guys: This is driving me crazy. Can someone please point me in the
right direction:
I'm trying to get the last record from my table. Every time I do
this,
it tells me there is no method, other than id.
theconditions = "criteria = '"+t+"'"
lastrec = Capture.last(:all, :conditions => theconditions)
This table has a number of fields in it
id, created_at, tid, text
When I call lastrec.id, it works
When I call lastrec.created_at it gives me (undefined method
`created_at' for nil:NilClass)
I feel sure you must be mistaken somehow. Are you saying that if you
immediately follow the Capture.last line with
id = lastrec.id
created_at = lastrec.created_at
then the first line passes but you get the nil error on the second? I
will be surprised if that is the case (I am often surprised mind you).
One thing to try is to run that code in the ruby console.
Another is to use ruby-debug to break in after the Capture.last line
and examine the data at that point.
See the rails guide on debugging if you do not know about ruby-debug
(http://guides.rubyonrails.org/)
Colin
Hmm, does the id happen to be 4? ;-)
try:
irb> puts nil.id
Last relative to what? If you mean: most recently created, try:
lastrec = Capture.first(:conditions => ['criteria = ?', t], :order =>
'created_at DESC')
-Rob
Rob Biedenharn http://agileconsultingllc.com
[email protected]
--
You received this message because you are subscribed to the Google Groups "Ruby on
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.