2011-08-08 7 views
0

これはおそらく非常に明白な質問ですが、わかりません。フィールドやモデルフィルターのようなものがありますか?コントローラーのbefore_filterの概念と似たもの。私の状況では、設定する前にフォーマットして確認する必要があるフォームから「時間」の情報が得られます。単にフィールドにバリデーターを適用してエラーを返すのではなく、できるだけユーザーフレンドリーにして、データを適切にフォーマットしようとします。例えば、私のモデルに何か入れていいだろう。それが今であるとしてRuby on Rails - モデルフィールドフィルタ

before_filter :formatTimeField, :only=>[:timeField1, :timeField2...etc] 

を、私はこれらの各フィールドのミューテータを指定する必要があり、これは私には少し愚かなようです。

アイデア?重要な情報を除外した場合はお知らせください。前もって感謝します!

答えて

1

before_validationとその他のActiveRecordコールバックのドキュメントをご覧ください。

あなたが記述する場合には

http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

は、あなたがしようとすると、ユーザーの入力を修正し、するbefore_validationメソッドを呼び出すことができます。記録の作成/修正プロセスの様々な段階で行われます呼び出しの束があります。その変更されたデータを検証します。したがって、何もできない場合は、修正するためにユーザーにそれを戻すことができます。

また、RoRガイドには、さまざまなフックの包括的な概要があります。http://guides.rubyonrails.org/active_record_validations_callbacks.html#callbacks-overview

これが役に立ちます。

+0

Ah ha yes!それはまさに私が必要とするものです。どうもありがとうございました!私はそれがちょっと分かりました。 –