[前][次][番号順一覧][スレッド一覧]

rails:430

From: Kentaro KAWAMOTO <kentaro.kawamoto@g...>
Date: Wed, 19 Oct 2005 02:52:00 +0900
Subject: [rails:430] field_error_procはなぜ実行されるのか?

川本と申します。

RailsというよりRubyの問題の気もするのですが・・・。

ActionView::Helpers::FormHelperのtext_fieldなどを使うと、
エラーが発生したときに、
<input type="text" ... /><div class="fieldWithErrors">...</div>
というように、<div>で囲まれたエラーメッセージが表示されます。

ソースを見てみると、この処理は
ActionView::Baseの@@field_error_procという
手続きで定義されています。そして、
この手続きは、active_record_helper.rbで定義されている
ActionView::Helpers::InstanceTagクラスのtagメソッドで呼ばれています。

ところが、form_helper.rbで定義されているtext_fieldのコードを追っていくと、
tag_helper.rbモジュールのtagメソッドを呼んでいるように見えます。
しかし、このtagメソッドでは、
ActionView::Base.field_error_procを呼んでいません。

つまり、呼ばれていないコード(field_error_proc)の処理が
実行されているように見えます。

おそらく、ソースの読み方が間違っているのだと思いますが、
どう間違っているのか分かりません。
初歩的な質問で恐縮なのですが、アドバイスをいただけないでしょうか?

なお、actionpackのバージョンは1.9.1です。

--
Kentaro KAWAMOTO
kentaro.kawamoto@g...

--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

->     430 2005-10-18 19:52 [kentaro.kawamoto@g..] field_error_procはなぜ実行されるのか?  
       431 2005-10-19 01:32 ┗[moriq@m...          ]                                       
       432 2005-10-19 02:35  ┗[kentaro.kawamoto@g..]