Forum: Ruby on Rails Date formatting error

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Sam S. (Guest)
on 2006-02-18 06:58
(Received via mailing list)
Hi All,

I'm a bit stumped.  All I'm trying to do is format a date and I get an
error.  Details below.

I have a partial to list all "notes" associated with a "client" with the
following code.

<% for note in @client.notes %>
<hr />
<%=h note.note_text %>
Posted on <%=h note.created_at.strftime("%I:%M") %> by <%=h
note.created_by %>
<% end %>

Which gives me the error...

|"You have a nil object when you didn't expect it! The error occured
while evaluating nil.strftime"

When I remove the |.strftime("%I:%M") from note.created_at the display
works correctly showing the data with the default format of "Fri Feb 17
22:05:10 Central Standard Time 2006 by Sam S."

I'm still fairly new to Rails so please bear with me.

Thanks,

Sam
Craig W. (Guest)
on 2006-02-18 07:10
(Received via mailing list)
On Fri, 2006-02-17 at 22:54 -0600, Sam S. wrote:
> <%=h note.note_text %>
> works correctly showing the data with the default format of "Fri Feb
> 17 22:05:10 Central Standard Time 2006 by Sam S."
>
> I'm still fairly new to Rails so please bear with me.
----
is it possible that you have records in your table that don't have this
data? Did you create the records first, then add the 'created_at' field
later which might mean that you have records where this field is null?

Craig
Sam S. (Guest)
on 2006-02-18 07:28
(Received via mailing list)
Craig W. wrote:

>>
>>while evaluating nil.strftime"
>data? Did you create the records first, then add the 'created_at' field
>
I did add the field in later but it does have the correct data it shows
it as below without the formatting.

"Fri Feb 17 22:05:10 Central Standard Time 2006 by Sam S."

That is why I'm stumped at the error I get when attempting to format the
data.

Sam
Craig W. (Guest)
on 2006-02-18 07:40
(Received via mailing list)
On Fri, 2006-02-17 at 22:54 -0600, Sam S. wrote:
> <%=h note.note_text %>
> works correctly showing the data with the default format of "Fri Feb
> 17 22:05:10 Central Standard Time 2006 by Sam S."
>
> I'm still fairly new to Rails so please bear with me.
----
try removing the 'h'

<%= note.created_at.strftime("%I:%M") %>

Craig
Sam S. (Guest)
on 2006-02-18 07:49
(Received via mailing list)
Craig W. wrote:

>>
>>while evaluating nil.strftime"
>
>
Nope, same error.
Nathan V. (Guest)
on 2006-02-18 20:26
Craig W. wrote:
> On Fri, 2006-02-17 at 22:54 -0600, Sam S. wrote:
>> <%=h note.note_text %>
>> works correctly showing the data with the default format of "Fri Feb
>> 17 22:05:10 Central Standard Time 2006 by Sam S."
>>
>> I'm still fairly new to Rails so please bear with me.
> ----
> try removing the 'h'
>
> <%= note.created_at.strftime("%I:%M") %>
>
> Craig

I can't seem to reproduce the error, using some test data the strftime
you are using worked flawlessly. Perhaps try updating Rails to the
latest version? If that doesn't work I'm afraid I'm out of ideas.
This topic is locked and can not be replied to.