4

<%= ... %> エミッターで Ruby ブロックを予告する方法を見つけようとしています。

「<% form_tag do %>」の部分は問題ありませんが、Rails の内部を掘り下げて、erb を使用してテンプレートを処理する方法を確認すると、「do」がぶら下がっているため、生成された Ruby コードが無効です。コードを実行する前にコードをまっすぐにするポストプロセッサが Rails のどこかに隠れていますか? はいの場合、それはどこにありますか? いいえの場合、Rails はこのフォームから HTML と Ruby コードをどのように引き出しますか?

4

1 に答える 1

6

Railsは、正規表現を使用して erb に渡されたものがブロック式であるかどうかを判断し、それを別の方法で処理するハックを追加しました。

より詳細な説明: http://timelessrepo.com/block-helpers-in-rails3

于 2012-08-25T00:55:04.990 に答える