将默认日期范围设置为 1 周,然后通过提交 [Ruby on Rails] 保留输入的日期范围
Set default date range to 1 week, and then have the entered date range persist through submit [Ruby on Rails]
我正在创建一个基于日期范围显示数据的图表应用程序,我希望在应用程序首次打开时将日期范围默认设置为 1 周的间隔,然后为用户提供设置选项搜索更长或更短范围的日期范围。目前我将日期默认设置为上次输入的日期,因此一旦输入日期,该范围将一直存在,直到再次更改或返回主页。作为一个整体,我是 Ruby 的新手,所以环境仍然有点混乱,但我认为在控制器中设置值最有意义,但我不太确定如何这样做,或者如果那是正确的。到目前为止,我有这个:
index.html.erb (view)
Start Date <%= date_field_tag :start_date, params[:start_date], id:'start', class:'dateSel' %>
End Date <%= date_field_tag :end_date, params[:end_date], id:'end', class: 'dateSel' %>
welcome_controller.rb (controller)
start_date = params["start_date"]
end_date = params["end_date"]
我会将参数添加到链接到页面的 link_to。
就像是:
link_to 'Chart', charts_path(start_date: (Date.today - 6.days), end_date: Date.today)
在这种情况下,当您转到该页面时,它将始终从过去一周开始。那么你就不需要再向控制器添加任何东西了。
您可以简单地向您的视图添加后备:
Start Date
<%= date_field_tag :start_date, params[:start_date] || 1.week.ago, id: 'start', class: 'dateSel' %>
End Date
<%= date_field_tag :end_date, params[:end_date] || Date.today, id: 'end', class: 'dateSel' %>
我正在创建一个基于日期范围显示数据的图表应用程序,我希望在应用程序首次打开时将日期范围默认设置为 1 周的间隔,然后为用户提供设置选项搜索更长或更短范围的日期范围。目前我将日期默认设置为上次输入的日期,因此一旦输入日期,该范围将一直存在,直到再次更改或返回主页。作为一个整体,我是 Ruby 的新手,所以环境仍然有点混乱,但我认为在控制器中设置值最有意义,但我不太确定如何这样做,或者如果那是正确的。到目前为止,我有这个:
index.html.erb (view)
Start Date <%= date_field_tag :start_date, params[:start_date], id:'start', class:'dateSel' %>
End Date <%= date_field_tag :end_date, params[:end_date], id:'end', class: 'dateSel' %>
welcome_controller.rb (controller)
start_date = params["start_date"]
end_date = params["end_date"]
我会将参数添加到链接到页面的 link_to。
就像是:
link_to 'Chart', charts_path(start_date: (Date.today - 6.days), end_date: Date.today)
在这种情况下,当您转到该页面时,它将始终从过去一周开始。那么你就不需要再向控制器添加任何东西了。
您可以简单地向您的视图添加后备:
Start Date
<%= date_field_tag :start_date, params[:start_date] || 1.week.ago, id: 'start', class: 'dateSel' %>
End Date
<%= date_field_tag :end_date, params[:end_date] || Date.today, id: 'end', class: 'dateSel' %>