我已经实现了will_paginate,现在我想将默认页面从ruby变量更改为日期。我该怎么做呢?
更准确一点:我的目标是每个日期有1页,并且在此页面上拥有属于此日期的所有数据
来自视图的片段:
def show
@waves = @location.infos.paginate(page: params[:page], per_page: 7)
gon.watch.infos = @location.infos
respond_with(@location)
来自控制器的片段:
<table class= "table table-striped">
<thead>
<th><strong>Day</strong></th>
<th><strong>Swell Size</strong></th>
<th><strong>Swell Rating</strong></th>
<th><strong>Wind Speed</strong></th>
<th><strong>Temperature</strong></th>
</thead>
<tbody>
<!-- <%= will_paginate @waves, previous_label: "Previous day", next_label: "Next day", renderer: BootstrapPagination::Rails %> -->
<%= will_paginate(@waves, :renderer => PaginationListLinkRenderer) %>
<% @waves.each do |wave| %>
<tr>
<td><%= Time.at(wave.day.to_i).to_s.chomp("-0800")%></td>
<td><%= wave.size_min%>-<%= wave.size_max%><small>ft</small></td>
<td><% swell = wave.swell_rating %>
<td><%= wave.wind_speed%><small>mph</small></td>
<td><%= wave.temperature%><small>°F</small> </td>
答案 0 :(得分:0)
在这种情况下,您并没有真正对infos
进行分页。您正在为这些记录分页created_on
属性。
所以:
created_on
created_on
分组的记录。原始sql或作用域将完成一项工作。 (范围不会让我们返回正确的对象)created_on
个日期,你需要创建某种分页控件来显示它们。我想你可以使用will_paginate作为数组。@location.infos.for_date(params[:date])
基本上,你想做的事情需要一些肘部油脂。