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

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 %>

30:                                       <td

nowrap=“nowrap”><%=enewsletter.title%>

31:                                       <td

nowrap=“nowrap”><%=enewsletter.publication_date.strftime("%m/%Y")%>

32:                                       <td nowrap="nowrap">

<%=enewsletter.require_ama_disclaimer%>

33:                                       <td>

34:                   <%#= link_to("Edit Release",

edit_admin_release_path(release), edit_admin_release_path(release)) %>

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

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")%>

enewsletter.publication_date is nil

Matt’s

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.

I replaced line 31 with the following text:

<%unless
enewsletter.publication_date.nil?%><%=enewsletter.publication_date.strftime("%m/%Y")%>
I still get the page We’re sorry but something went wrong.

On Tuesday, June 26, 2012 8:33:31 AM UTC-4, yatta20 wrote:

<%=enewsletter.require_ama_disclaimer%>
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

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: 

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

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’