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?
我的控制器有
@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?