嗨所以我试图显示一个里面有许多电影标题的日历,问题是我想从另一个模型中提取日期并且它不起作用。
视图文件(电影)中的当前代码
<%= 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 的未定义方法‘显示’”
这两个模型是相关的...film- has_many :showings &showing- belongs_to :film
电影控制器中的代码:
def whats_on @films = Film.all @date = params[:month] ?Date.strptime(params[:month]) : Date.today 结束