如何将两个参数传递给scope方法



我正试图显示一个基于通过link_to选择的日期的列表。我希望能够在视图中选择一个链接,并且只显示前一天或未来一天的列表。默认值为当前日期。这是我迄今为止所拥有的。

型号

def self.date_filter(begin_date, end_date)
    where("date BETWEEN ? AND ?", begin_date, end_date )
end

控制器这是默认的,应该是当前日期。

@list = Location.date_filter(Date.today.beginning_of_day, Date.today.end_of_day)

查看

<%= link_to -1.days.from_now.strftime('%a %d'), locations_path %><br />
<%= link_to Date.today.strftime('%a %d'), locations_path %>

您需要将要筛选的日期传递到控制器中

<%= link_to((@date -1.day).strftime('%a %d'), locations_path(:date => @date -1.day)) %><br />
<%= link_to(@date.strftime('%a %d'), locations_path(:date => @date)) %>

@list = Location.date_filter(@date, @date.end_of_day)

最新更新