忍者ブログ
ブログツール、2007/11/06作成
[33] [32] [31] [30] [29] [28] [27] [26] [25] [24] [23
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

select_yearとか
select_monthとか
select_dateとか
select_hourとか
select_minuteとか
select_secondとかのヘルパを使いたくなるときがある。

で、複数の日付を別々に指定したいと。
たとえば、期間を指定するのに開始年、開始月、終了年、終了月を指定するとする。
オプション無しだと、同じselect_yearとselect_monthは同じパラメータで渡っちゃうので良くない。

で、
field_nameオプションを使うわけだが、ここに落とし穴が。

view:
開始年月
<%= select_year Date.today, :field_name=>'start_year' %>
<%= select_month Date.today, :field_name=>'start_month' %>
終了年月
<%= select_year Date.today, :field_name=>'start_year' %>
<%= select_month Date.today, :field_name=>'start_month' %>

とやる。
素直に考えると、コントローラーで
params[:start_year],params[:start_month]とかで取得できそうなもんだが、
実際の所はparams[:date]のハッシュになって帰ってくる。

実際に取得するときはこう。
params[:date][:start_year]
params[:date][:start_month]
params[:date][:end_year]
params[:date][:end_month]

ちょっとはまっちゃったのでメモ。

つーか、なんで:dateのハッシュな訳?
いまいち納得いかない。:dateのハッシュ以外で取得する方法は見つからず。
むむむむ・・・・
追記

:dateのハッシュ以外で取得したいときは、
select_datetimeの:prefixオプションを使えばいい。
:discardオプションで必要ないやつを隠す。
PR
この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
この記事へのトラックバック
この記事にトラックバックする:
ついめ~じ
ブログ内検索
フリーエリア
サニーカメラ
Powered by Ninja Blog    template by Temp* factory    icon by MiniaureType

忍者ブログ [PR]