rails:734
From: Kazuhiro Yoshida <moriq@m...>
Date: Sun, 04 Dec 2005 19:44:44 +0900
Subject: [rails:734] Re: 悩ましい日付型, date_select, select_date
もりきゅうです。 Hiroshi Takagi <gollum@h...> wrote: > 1. render :action => 'new' もしくは render :action => 'edit' > でエラーメッセージとともに最表示されたフォーム上では、 > 不正な日付が入力されたフィールドの値は、デフォルトのDate.todayに > なってしまっており、どんな間違いを起したのかわからない。 ああ。Date には入らないですね。date_helper をいじるのは面倒なので、 フェイクオブジェクトに値を入れて渡せばいいかな。 > 2. ActiveHeart を使っている時、同じ芸風で日本語のバリデーション > メッセージを登録するにはどうしたらよいでしょうか。 AttributeAssignmentError を書き換えていただければ。 芸風を合わせるなら @@default_error_messages を使うようにしてみてください。:) -- module ActiveRecord class AttributeAssignmentError < ActiveRecordError #:nodoc: def initialize(message, exception, attribute, values=nil) # message ||= "error on assignment #{values.inspect} to #{attribute}" message ||= " #{values.inspect} は不正な値です" super message @exception = exception @attribute = attribute end end private HOLDER_CLASSES = { Date => Struct.new("DateHolder", :year, :month, :day) } def execute_callstack_for_multiparameter_attributes(callstack) errors = [] callstack.each do |name, values| klass = (self.class.reflect_on_aggregation(name) || column_for_attribute (name)).klass if values.empty? send(name + "=", nil) else begin send(name + "=", Time == klass ? klass.local(*values) : klass.new(*values)) rescue => ex send(name + "=", HOLDER_CLASSES[klass].new(*values)) errors << AttributeAssignmentError.new(nil, ex, name, values) end end end unless errors.empty? raise MultiparameterAssignmentErrors.new(errors), "#{errors.size} error(s) on assignment of multiparameter attributes" end end end -- ---- Kazuhiro Yoshida moriq@m... -- 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... ]