我是 Stimulus JS 的新手。我试图collection_select
在表单中使用一个简单的事件触发(使用 rails g 脚手架创建)有点卡住了。
这是我的dropdown-controller.js
(刺激)文件:
import { Controller } from "stimulus"
export default class extends Controller {
static targets = ["target"];
handleChange() {
console.log('works!')
}
}
这是我的_forms.html.erb
文件:
<%= form_with(model: stock_order, local: true) do |form| %>
...
<section data-controller="dropdown">
<div class="field">
<%= form.label :company_id %>
<%= form.collection_select :company_id, Company.all, :id, :name, data: {action: "change->dropdown#handleChange"} %>
</div>
</section>
<div class="actions">
<%= form.submit %>
</div>
<% end %>
我尝试了很多事情:
<%= form.collection_select :company_id, Company.all, :id, :name, data: {action: "change->dropdown#handleChange"} %>
<%= form.collection_select :company_id, Company.all, :id, :name, {data: {action: "change->dropdown#handleChange"}} %>
<%= form.collection_select :company_id, Company.all, :id, :name, data: {action: "dropdown#handleChange"} %>
...ETC
console.log('works!)
如果我使用 html select 标签而不是 rails' ,我只能触发collection_select
。如果我创建一个测试按钮或者我使用它,则该事件会触发form.check_box
。
有任何想法吗?对不起,如果这是一个愚蠢的问题,我没有想法。
谢谢!