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 %>
<%=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.
<%=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?
<%=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 forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.