我正在尝试向所有表单添加刺激处理程序:
<form data-controller="ajax-errors"></form>
我查看了 simple_form 中的代码,我看到的唯一选项是添加
default_form_class
有没有一种方法可以将数据属性附加到每个表单,而不必向每个表单传递自定义数据属性?
我尝试将其附加到默认包装器上的wrapper_html,但它不起作用
看起来
simple_form_for
不允许使用除 :class
Source 以外的默认 html 选项
我们应该能够通过使用前置模块来劫持此实现
例如,类似以下内容可能有效:
module SimpleFormDataExtension
DEFAULT_OPTIONS = {html: {data: {controller: "ajax-errors"}}
def simple_form_for(record, options = {}, &block)
options = DEFAULT_OPTIONS.deep_merge(options)
super(record, options, &block)
end
end
SimpleForm::ActionViewExtensions::FormHelper.prepend(SimpleFormDataExtension )