次のように定義されたフォームがあります。
form_for(@model) do |f|
# Really a lot happens here
end
最初の行を調整できる方法があるかどうか疑問に思っていました:form_for(@model)
最初に、ヘルパー関数を使用できる可能性があると考えました。
def my_form
if some_condition
form_for(@model)
else
form_for [@model, @nested_model]
end
end
それを私のフォーム呼び出しに埋め込みます。このような:
my_form do |f|
# Really a lot happens here
end
しかし、「No block given」エラーが発生します。誰かが指摘できますか - なぜ、どのように修正するのですか? 多分私が使用できる他のアプローチがありますか?
なぜそれが必要なのか私に聞かないでください。物事を可能な限りDRYに保つためだけに。フォームは再利用可能であるべきです。