所以我有一个html过滤器框,如下所示:
<label for="datefrom">Date From:</label>
<input type="date" id="datefrom" class="form-control" name="date" value="dd/mm/yyyy">
<label for="dateto">Date To:</label>
<input type="date" id="dateto" class="form-control" name="date" value="dd/mm/yyyy">
<hr>
<div class="radio">
<label><input type="radio" checked name="optradio">All</label>
</div>
<div class="radio">
<label><input type="radio" name="optradio">opt1</label>
</div>
<div class="radio">
<label><input type="radio" name="optradio">opt2</label>
</div>
<div class="radio">
<label><input type="radio" name="optradio">opt3</label>
</div>
<div class="radio">
<label><input type="radio" name="optradio">opt4</label>
</div>
<div style="float:right">
<button class="btn btn-info" name="button">Apply Filters</button>
</div>
现在我有一个看起来像这样的每个声明
<% @events.each do |event|%>
<div class='positive'>
<div class='icon'></div>
<div class='message'><%= event.eventname %></div>
<div class='date'><%= event.date %> <%= event.time %></div>
<%= link_to 'Compare', event_path(event.id), class: "button ok" %>
</div>
<% end %>
所以每个返回大约200个事件,我想要的是日期和日期是一个范围过滤器,它将在过滤器中定义的日期范围内获取每个事件
因此,如果3个事件的日期类似
22/01/2016 23/01/2016 25/01/2016
如果日期范围是在2016年1月21日至2016年1月23日提交的,那么2016年1月22日和2016年1月23日将显示,但其余的不会。
感谢您的帮助!
修改
继承人:
def search
@events = Event.page(params[:page]).per(10).search params[:search], suggest: true, misspellings: { distance: 1 }, order: { date: :asc, eventname: :asc }, match: :word_start
if @events.results.any?
render 'events/results'
else
render 'events/noresults'
end
end
萨姆
答案 0 :(得分:0)
在您的控制器中,您将获得参数中的dateFrom
和dateTo
。
从那里,您可以使用以下内容过滤您的活动:
@events = Event.where(date: @date_from..@date_to)
然后,您可以像在视图中一样显示您的内容。