return 数据基于日期

return data based on dates

我的控制器有

@account_info = @account_info.account_dates(params[:start_date], params[:end_date]) unless
params[:start_date].nil? || params[:end_date].nil?

模型有

self.table_name = 'UserAccounts'
scope :account_dates, -> (start_date, end_date) { where(account_date: start_date.to_date...(end_date.to_date + 1)) }

我创建了 json 来显示有关帐户的数据

accounts: [
{
name: "John"
account_date: "2016-12-27"
},
{
name: "Mike"
account_date: "2017-01-03"
},
{
name: "Jason"
account_date: "2014-01-01" 
}
]

start_date 和 end_date 是可选参数。现在,如果我没有通过它们,我会得到上面显示的所有条目,这是要求之一。第二个要求是如果我只是通过 start_date 例如 2016-12-27 然后我得到 start_date 和今天日期之间的条目所以我会得到 2016-12-27 和“2017-01-03”来自 json 的条目。我是 rails 的新手。有人可以帮助我如何更新我的代码以满足第二个要求吗?

谢谢

你可以这样做:

end_date = params[:end_date] || Time.now
account_info = @account_info.account_dates(params[:start_date], end_date) unless params[:start_date].nil?