文字列を日付としてデータベースに保存し、奇妙な結果を得る
日付が次のようにフォーマットされている場合、
dd / mm/yy保存されます
日付が次のようにフォーマットされている場合、
mm / dd/yyサイレント保存に失敗します
私が行くなら私のコンソールで
'20/10/2012'.to_date
=> Sat, 20 Oct 2012
できます
私が行けば
'10/20/2012'.to_date
=> ArgumentError: invalid date ...
壊れます
初期化子を使用して、デフォルトの日付形式を%m /%d /%Yに設定しました。これは、DATE_FORMATSハッシュに正確に反映されていることがわかります。
Date::DATE_FORMATS
=> {:short=>"%e %b", :long=>"%B %e, %Y", :db=>"%Y-%m-%d", :number=>"%Y%m%d", :long_ordinal=>#<Proc:0x007f8663f1aae0@/Users/ian/.rvm/gems/ruby-1.9.3-p0@rails-3.2/gems/activesupport-3.2.1/lib/active_support/core_ext/date/conversions.rb:12 (lambda)>, :rfc822=>"%e %b %Y", :default=>"%m/%d/%Y"}
正しく構成されているように見えるため、ここで問題の原因が不明です。解決する方法は?
ありがとう!