2011-12-22 23 views
0

私は現在、イベントの日付を設定するフォームを持っています。私は3つの選択ドロップダウンを持っているので、私はdate_selectフォームヘルパーを使用しています。date_selectの代わりにText_Fieldで日付を受け入れる

私は多分それをtext_fieldに切り替えて日付をフォーマットし、正規表現で検証することができたと思っていましたが、dd/mm/yyyyとしてしか入力できないようです。たとえば、私が12/25/2012を入力した場合、それはエラーを返します(それは別のエラータイプがないと思われるので空白です)mm/dd/yyyy形式を受け入れることができますか?

答えて

1

Date.parse(the_textfield)を使用できます。独自の正規表現を書く必要はありません。それがどのように動作するかについて、ここで RDOC:

before_save :parse_date_string 
def parse_date_string 
    my_date = Date.parse(my_date) if my_date.is_a? String 
end 
+0

でしょう私のモデル、いくつかの場所や私のコントローラに行く:

http://apidock.com/ruby/Date/parse/class

あなたは、このようにあなたのモデルで前に保存する方法としてこれを追加することができます更新して作成しますか? – Rapture

+0

までです。私は通常、私のモデルのbefore_saveメソッドとしてそれを入れます。そうすればいつでもどこからでも日付を得ることができますが、入力が既に日付であるかどうかをチェックする必要があります –

+2

'my_date.is_a?(String)'を使うのではなく、 'Date.parse(my_date)'を実行し、次にエラーを救済して、検証エラーを表示するようにしてください。 –

関連する問題