rails:727
From: Hiroshi Takagi <gollum@h...>
Date: Sat, 03 Dec 2005 21:59:33 +0900
Subject: [rails:727] Re: 悩ましい日付型, date_select, select_date
たかぎです。 On Sat, 3 Dec 2005 20:49:38 +0900 Osakana <osakanas@g...> wrote: > Four Days on Rails > http://www.rails4days.pwp.blueyonder.co.uk/Rails4Days.pdf > Page 27-28 あたりに、以下のようなコードが掲載されています。 引用どうもありがとうございます。 > 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 この路線は、最初にわたしもやってみたのですが、 以下の理由から、採用するのをやめました。 1. テーブルに複数の Date 型を含んだ場合は、 どこでinvalid な値がはいったかがわからない。 例えば、契約の開始・終了日とか。 2. どの日付項目が問題であったかを調べるには、 MultiparameterAssignment が発生する前に、 それぞれの項目の(1i), (2i) (3i) を集めてきて 個々にvalidate することになるが、 controller のcode が、どんどん汚くなる。 3. 不正が日付が入力された場合は、falsh[:notice]で、 他のフィールドで不正な値が入力された場合は、error_messages_for で、 というぐあいにinvalid value に対するエラーメッセージの形態が違うと、 利用者にとって「ふしぜん」 4. テーブルは汚くなるが、model に rescue を入れることで、 他のフィールドのvalidate と同じようエラーメッセージを扱える。 複数のコントローラーメソッドからアクセスされても一箇所で対応できる。 > Four Days on Rails は Rails 入門としては、私には少々難しす > ぎるドキュメントでしたが、実用的なテクニックが色々と盛り込まれて > いるようですね。 わたしは、まだ、これ読んでません。 通読してみます。 紹介、ありがとうございました。 -- Hiroshi Takagi <gollum@h...> -- 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... ]