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... ]