Rails simple_form 元素具有用于刺激的 data-... 属性?

tkh*_*bes 4 ruby-on-rails simple-form stimulusjs

我正在尝试将刺激控制器连接到一个表单元素,该元素位于由简单表单 gem 生成的表单内。无论我做什么 - 相应的“数据控制器”属性不会出现在最终呈现的页面中(因此,控制器不会做出反应)...

这是有问题的代码:

<%= simple_form_for book do |f| %>
  <%= render 'shared/form_errors', form: f %>
  ...
  <%= f.association :book_format, label: false, 'data-controller': 'book-format-select' %>
  ...
< % end %>
Run Code Online (Sandbox Code Playgroud)

我也尝试过

<%= f.association :book_format, label: false, data_controller: 'book-format-select' %>
Run Code Online (Sandbox Code Playgroud)

<%= f.association :book_format, label: false, html: {data-controller: 'book-format-select' } %>
Run Code Online (Sandbox Code Playgroud)

这些都不起作用 - 输出总是相同的:

<select class="select required" name="book[book_format_id]" id="book_book_format_id">
Run Code Online (Sandbox Code Playgroud)

不确定我做错了什么?

mec*_*cov 5

您需要使用input_html密钥

还可以使用:input_html选项将任何 html 属性直接传递到输入

<%= f.association :book_format, label: false, input_html: { data: { controller: 'book-format-select' } } %>
Run Code Online (Sandbox Code Playgroud)