嗨,我正在尝试使用 table_builder 显示在参与日期放映的电影列表,这是视图中的代码。
<%= calendar_for @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, showings| %>
<%= date.day %>
<ul>
<% for showing in showings %>
<%= link_to h(showing.film.title),showing%>
</br>
<% end %>
</ul>
<% end %>
<% end %>
该代码有效,但是如果一部电影在同一天放映多次,那么电影标题也会在同一日期的日历上多次打印出来。我真正想要的是找出一部电影是否已经在某一天放映,如果是,那么只显示那部电影的标题一次。任何想法我可能会如何去做。
显示控制器中的代码
def whats_on
@showings = Showing.all
@date = params[:month] ? Date.strptime(params[:month]) : Date.today
end
目前的关系
film - has_many :showings
showing - belongs_to :film