form_for @user
モデル内でビルダーによって生成されたフォームにオプションとフィールドを追加するにはどうすればよいですか? (つまり、HTMLに触れずに)
私がそれをしたい理由は、プラグ可能なモジュールをモデルに追加していてdata
、(a) Javascript のフックを提供するために HTML に属性を追加し、(b) 追加のフィールドを自動的に追加したいからです。フォームで。
たとえば、そのようなモジュールを私のモデルに追加すると:
module Dataable
def form_options
{ 'data-foo' => true }
end
def form_builder_extra_fields
hidden_field_tag :the_data
end
end
User.send :include, Dataable
出力するようform_for
にします:
<form {...} data-foo>
<input type="hidden" name="user[the_data]" {...} />
{...}
</form>
ビューで。
もちろん、私が作ったばかりの方法です。したがって、問題は 2 つあります。(1) フォーム オプションと (2) フォーム タグをモデルに動的に追加する方法。
私はform_for
今、詮索している最中ですが、誰か知っていたのだろうか。