【发布时间】:2013-12-26 22:26:56
【问题描述】:
如何向模型中带有form_for @user 的构建器生成的表单添加选项和字段? (即不接触 HTML)
我想这样做的原因是我正在向我的模型添加一个可插入模块,并且我希望它自动 (a) 在 HTML 中添加一个 data 属性以提供 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,但我想知道是否有人知道。
【问题讨论】:
标签: ruby-on-rails rails-models modular-design