简体   繁体   English

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

[英]undefined method `strftime' for nil:NilClass - shows sometimes

I'm building a simple app for displaying movies using themoviedb gem. 我正在构建一个使用themoviedb gem显示电影的简单应用。 However, when I try to do a search query, it displays the error I mentioned. 但是,当我尝试执行搜索查询时,它会显示我提到的错误。 Now, that doesn't happen every time - only in certain cases (eg Matrix works fine, but Fight Club shows the error) 现在,这并非每次都发生-仅在某些情况下(例如Matrix可以正常工作,但Fight Club会显示错误)

Here's my code: 这是我的代码:

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

Be forgiving for realease_date if movie.release_date can be nil at times using try : 要宽容的realease_date如果movie.release_date可以是零,在使用时间try

<%= movie.release_date.try(:year) %>

This will give you release year if release_date is valid and gives you nil if release_date is nil. 如果release_date有效,则为您提供发布年份;如果release_date为nil,则为您发布nil。

Since release_date , I assume is already either a Date or DateTime or ActiveSupport::TimeWithZone , the to_date is not necessary. release_date以来,我假设已经是DateDateTimeActiveSupport::TimeWithZone ,因此to_date是不必要的。 Also I think date.year is more cleaner than date.strftime("%Y") . 我也认为date.yeardate.strftime("%Y")更干净。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM