如何将选项和字段添加到由form_for @user
模型中的构建器生成的表单中?(即不接触 HTML)
我想这样做的原因是我正在向我的模型添加一个可插入模块,并且我希望它自动(a)data
在 HTML 中添加一个属性以提供 Javascript 的钩子,以及(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>
在视图中。
当然是我刚刚编出来的那些方法。因此,问题是双重的;如何在模型中动态添加 (1) 表单选项和 (2) 表单标签。
我现在正在窥探form_for
,但我想知道是否有人知道。