2

私のRailsアプリでは、特定の期間の統計を部分的にロードするタブを設定しています。

<%= render 'shared/user_reports' :locals => { :start_date => Date.today - 30, :end_date => Date.today } %>

上記は「月」タブをロードします。

私の質問は、 (データベースに情報を保存せずに)ローカル:start_dateに渡されるユーザー定義の日付を取得する方法はありますか?:end_date

4

3 に答える 3

2

URLパラメータを使用して、データを一時的に保存できます。

以下を使用してパラメータを読み取ります。

params[:param_name]
于 2013-03-27T11:34:53.883 に答える
2

そのようなURLからタブをレンダリングしたい場合/my_path?start_date=2013-02-27&end_date=2013-03-27

<%= render 'shared/user_reports' :locals => { 
     :start_date => (Date.parse(params[:start_date]) rescue Date.today - 1.month),
     :end_date => (Date.parse(params[:end_date]) rescue Date.today) 
} %>

ただし、コントローラーでパラメーターを処理することをお勧めします。

@start_date = Date.parse(params[:start_date]) rescue Date.today - 1.month
@end_date = Date.parse(params[:end_date]) rescue Date.today

そしてあなたの見解では:

<%= render 'shared/user_reports' :locals => { :start_date => @start_date, :end_date => @end_date } %>
于 2013-03-27T12:43:09.297 に答える
1

Date.parseを使用して、文字列から日付を解析できます。

  1.9.3p327 :004 > start_date = Date.parse("march 27 2013")
  => Wed, 27 Mar 2013

それで、

<%= render 'shared/user_reports' :locals => { :start_date => Date.parse("Feb 27 2013"), :end_date => Date.parse("March 27 2013") } %>

しましょう。

于 2013-03-27T11:50:43.333 に答える