[前][次][番号順一覧][スレッド一覧]

rails:726

From: Kazuhiko <kazuhiko@f...>
Date: Sat, 03 Dec 2005 21:42:19 +0900
Subject: [rails:726] Re: 悩ましい日付型, date_select, select_date

かずひこです。

At Sat, 3 Dec 2005 20:49:38 +0900,
Osakana wrote:

> def create
>      begin
>      @item = Item.new(@params[:item])
>      if @item.save
>        flash['notice'] = 'Item was successfully created.'
>        redirect_to :action => 'list_by_priority'
>      else
>        @categories = Category.find_all
>        render_action 'new'
>      end
>      rescue
>        flash['notice'] = 'Item could not be saved.'
>        redirect_to :action => 'new'
>      end
>    end

これだと、rescue に落ちた後の 'new' のレンダリングでエラーになりませんか?
次のページの def new のように @categories や @item を定義する必要があるで
しょうし、エラーメッセージも設定したいところです。たとえばこんな感じで。

     rescue
       flash['notice'] = 'Item could not be saved.'
       @categories = Category.find_all # ← def new と同じ
       @item = Item.new                # ← def new と同じ
       @item.errors.add(:date_field, 'invalid date') # ← エラーメッセージ追加
       redirect_to :action => 'new'
     end

なお、裏技くさい方法としては、date じゃなく datetime なら落ちない、という
手もあります。例えば datetime_select に 2005, 2, 31 という年月日を渡すと、
「2005/3/3」というそれっぽい日付になります。:)

# ただし、25 時とか 63 分とかはエラーになります。
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  「恋とハックはアジャイルが命!」

--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

       724 2005-12-03 12:33 [gollum@h...         ] 悩ましい日付型, date_select, select_date
       725 2005-12-03 12:49 ┣[osakanas@g...       ]                                       
->     726 2005-12-03 13:42 ┃┣[kazuhiko@f...       ]                                     
       727 2005-12-03 13:59 ┃┗[gollum@h...         ]                                     
       729 2005-12-04 07:02 ┗[moriq@m...          ]                                       
       730 2005-12-04 07:09  ┣[moriq@m...          ]                                     
       731 2005-12-04 07:30  ┣[moriq@m...          ]                                     
       733 2005-12-04 10:26  ┗[gollum@h...         ]                                     
       734 2005-12-04 11:44   ┗[moriq@m...          ]                                   
       735 2005-12-04 11:56    ┣[moriq@m...          ]                                 
       739 2005-12-04 16:49    ┗[gollum@h...         ]