こんにちは、内部に多くの映画のタイトルがあるカレンダーを表示しようとしています。問題は、別のモデルから日付を取得したいのですが、機能しないことです。
ビューファイル(フィルム)の現在のコード
<%= calendar_for @films, :year => @date.year, :month => @date.month do |calendar| %>
<%= calendar.head('Sun','Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat') %>
<%= calendar.day(:day_method => :date_of_release) do |date, films| %>
<%= date.day %>
<ul>
<% for film in films %>
<%= link_to h(film.title), film %>
</br>
<% end %>
</ul>
<% end %>
そのコードはうまく機能しているようで、映画モデルの属性であるリリース日に従って映画を表示します。私がやりたいことは、上映日を表示することです。つまり、「表示」モデルから日付を取得します。これまでのところ、私は..
<%= calendar_for @film.showings, :year => @date.year, :month => @date.month do |calendar|%>
<%= calendar.head('Sun','Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat') %>
<%= calendar.day(:day_method => :date) do |date, films| %>
<%= date.day %>
<ul>
<% for showing in showings %>
<%= link_to h(showing.film.title), film %>
</br>
<% end %>
</ul>
<% end %>
しかし、「nil:NilClass の undefined method `showings'」というエラーが表示され続けます
2 つのモデルは関連しています...film- has_many :showings および見せている- belongs_to :film
フィルム コントローラのコード:
def whats_on @films = Film.all @date = params[:month] ? Date.strptime(params[:month]) : Date.today end