ActionView::Template::Error (undefined method `strftime' for nil:NilClass)

485 views
Skip to first unread message

yatta20

unread,
Jun 26, 2012, 8:33:31 AM6/26/12
to rubyonra...@googlegroups.com, yat...@hotmail.com
Hello, I'm a newbie. I need help resolving this issue. I recently added a pdf to the newsletter admin section of the website and now I can no longer view page 2 of the list of pdf's. Nor can I login to see the newsletters as a student. I'm using Ruby 1.9.3, Rails 3.2.1.
Here's the information from the log file.

ActionView::Template::Error (undefined method `strftime' for nil:NilClass):

    28:         <%- locals = {:enewsletter => enewsletter} %>

    29:         <td nowrap="nowrap" class='enewsletter_name'><%= enewsletter.subscription.title %></td>

    30:                                       <td nowrap="nowrap"><%=enewsletter.title%></td>

    31:                                       <td nowrap="nowrap"><%=enewsletter.publication_date.strftime("%m/%Y")%></td>

    32:                                       <td nowrap="nowrap"> <%=enewsletter.require_ama_disclaimer%></td>

    33:                                       <td>

    34:                   <%#= link_to("Edit Release", edit_admin_release_path(release), edit_admin_release_path(release)) %> &nbsp;

  app/views/admin/enewsletters/index.html.erb:31:in `_app_views_admin_enewsletters_index_html_erb__1819630787_23456257799140_0'

  app/views/admin/enewsletters/index.html.erb:26:in `each'

  app/views/admin/enewsletters/index.html.erb:26:in `_app_views_admin_enewsletters_index_html_erb__1819630787_23456257799140_0'

  app/controllers/admin/enewsletters_controller.rb:17:in `index'

 

Please advise

Carlos Mathiasen

unread,
Jun 26, 2012, 8:46:30 AM6/26/12
to rubyonra...@googlegroups.com, yat...@hotmail.com
Hi, you can see the error in this log:

ActionView::Template::Error (undefined method `strftime' for nil:NilClass):
nil.strftime("%m/%Y") doesn't exists

    31:                                       <td nowrap="nowrap"><%=enewsletter.publication_date.strftime("%m/%Y")%></td>

enewsletter.publication_date is nil


Matt's

jsnark

unread,
Jun 26, 2012, 8:54:19 AM6/26/12
to rubyonra...@googlegroups.com, yat...@hotmail.com
The message says that enewsletter.publication_date is nil. Check the database to make sure that all instances have a valid date for this field.  you should add a validation to the model to prevent creating a row with a nil value.

yatta20

unread,
Jun 26, 2012, 9:13:47 AM6/26/12
to rubyonra...@googlegroups.com, yat...@hotmail.com, gunma...@gmail.com
I replaced line 31 with the following text: <td nowrap="nowrap"><%unless enewsletter.publication_date.nil?%><%=enewsletter.publication_date.strftime("%m/%Y")%></td>
I still get the page We're sorry but something went wrong.

yatta20

unread,
Jun 26, 2012, 9:21:33 AM6/26/12
to rubyonra...@googlegroups.com, yat...@hotmail.com
On Tuesday, June 26, 2012 8:33:31 AM UTC-4, yatta20 wrote:
I found another error message.

Started GET "/enewsletters" for 74.7.15.131 at Wed Jun 20 13:42:07 -0500 2012

  Processing by EnewslettersController#index as HTML

Rendered enewsletters/index.html.erb within layouts/spree_application (23.5ms)

Completed 500 Internal Server Error in 45ms

 

ActionView::Template::Error (undefined method `strftime' for nil:NilClass):

    17:                                                          <%newsletter_url = "/enewsletter_download/#{enewsletter.id.to_s}"%>

    18:                                                <%end%>

    19:                                       <a href="<%=newsletter_url%>" class="enewsletter_link">

    20:                                       <h3><%=enewsletter.publication_date.strftime("%m/%Y")%> | <%=enewsletter.title%></h3>

    21:                                                </a>

    22:                                       </li>

    23:                                       <%if enewsletter.posttest.exists?%>

  app/views/enewsletters/index.html.erb:20:in `_app_views_enewsletters_index_html_erb___1681926547_23456253999680_0'

  app/views/enewsletters/index.html.erb:12:in `_app_views_enewsletters_index_html_erb___1681926547_23456253999680_0'

  app/views/enewsletters/index.html.erb:9:in `_app_views_enewsletters_index_html_erb___1681926547_23456253999680_0'

  app/controllers/enewsletters_controller.rb:14:in `index'

Reply all
Reply to author
Forward
0 new messages