akiです。
redmineのコードを読んでいて、以下質問です。
最近、redmineのコードに興味を覚えた新参者です。よろしくお願いします。
application_helper.rbのlabeled_form_forの以下の以下のコードで質問です。
labelled_tabular_form_forから何らかの理由で、移行してきたらしいということまでは、
調べたのですが、コードの内容、理由など調べきれませんでした。
現在は以下のようなコードになっています。
def labelled_form_for(*args, &proc)
args << {} unless args.last.is_a?(Hash)
options = args.last
if args.first.is_a?(Symbol)
options.merge!(:as => args.shift)
end
options.merge!({:builder => Redmine::Views::LabelledFormBuilder})
form_for(*args, &proc)
end
質問
1. どんな処理でしょうか?なぜ、form_forではまずいのでしょうか?
(最初の引数がシンボルの場合、:asとのハッシュになるようにしているように見えますが、詳細がわかりません。)
2. :asはどんな引数でしょうか?
(いろいろしらべたのですが。。。)
3. 元のlabelled_tabular_form_forは何がわるかったのでしょうか?
以上、よろしくお願いします。
※redmineの使用法とは関係ないので、もし、他のメーリングリストが妥当であればご教示ください。
aki