nil的未定义方法`strftime':NilClass - 有时显示

时间:2014-02-04 17:13:18

标签: ruby-on-rails

我正在构建一个使用themoviedb gem显示电影的简单应用。但是,当我尝试执行搜索查询时,它会显示我提到的错误。现在,每次都不会发生 - 仅在某些情况下(例如Matrix工作正常,但是Fight Club会显示错误)

这是我的代码:

<% @movie.each do |movie| %>
<%= link_to movie_path(movie.id) do %>
<%= image_tag("#{@configuration.base_url}w154#{movie.poster_path}") if movie.poster_path %>
<% end %>
<div class="moviesindex">
<%= link_to movie.title, movie_path(movie.id) %>
(<%= movie.release_date.to_date.strftime("%Y") %>) <br />
</div>
<% end %>

1 个答案:

答案 0 :(得分:2)

realease_date如果使用movie.release_date try有时可以为零,则可以原谅<%= movie.release_date.try(:year) %>

release_date

如果release_date有效,这将给你发布年份,如果release_date为nil,则给你nil。

Date起,我认为已经是DateTimeActiveSupport::TimeWithZoneto_datedate.year不是必需的。另外我认为date.strftime("%Y")比{{1}}更清晰。