2008年11月8日土曜日

base.rb render のソース

base.rbでpartialを検索すると、次のifの辺りでしか使っていない。
それはともかく、

          elsif partial = options[:partial]
            partial = default_template_name if partial == true

とある。elsif で中に入ってくるならpartialはtrueだけじゃないかと思うが違う?
あ〜true以外で真になるってこと? 例えは"form"は真だけどtrueじゃない。ということはpartial => trueってやると?、default_template_nameがpartialに設定されると。ということは、呼び元(new.rhtml)が、render :partial =>'form' なので、partialは...'form'だが。む〜ん。

あ、あった_form.rbにnewのフォームのERbが。な〜んだよ。でもどうやって動くかは謎。そのうち出てくるでしょうということで、先に進もうと思ったけど、ちょっと調べてみることに。

まず<label for="product_price">について。product_priceというIDとこのラベルを関連付ける? で、<%= text_field 'product', 'price'  %>っていうのは、なんだろう? ググってみるけどどうもよくわからない。これがどう展開されてラベルが何と関連づくのか。ボタンならいざしらず、単なるテキストボックスで、値を入力したときに何かコードを動かしてるわけでもないと思うのだが。

とりあえず単純に、追加した項目名=specialを当てはめて行を追加してみる。

あ、表示された。試しに30% OFFと入れてみる。createボタンをクリック。あ、リストに30%が表示された! 一瞬喜んだが、何も理解出来てないことに気づいて落胆。もうちょっとだな。。。

0 件のコメント: