我的应用程序中有一个表单,我通过以下方式声明它:
= form_with model: project, remote: true, method: :put do |f|
= f.select :selected_draw, options_for_select(project.draws.pluck(:number, :id), draw.id), {}, class: 'form-control', onchange: "this.form.submit()"
而且我似乎无法将其作为远程表单提交,即使在我的应用程序的其他部分我确实使用远程表单,并且在此表单上它确实设置了 data-remote
表单上的属性。谁能告诉我我可能做错了什么?
最佳答案
使用 this.form.submit()
不会触发“提交”事件,因此不会调用将其作为远程表单处理的 Rails 回调。
使用 onchange="Rails.fire(this.form, 'submit')"
代替。这样你就可以告诉 Rails javascript 对象触发该事件。
编辑:这是使用rails-ujs,但我不确定它是否与jquery-ujs相同
关于javascript - form_with 不作为 AJAX 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54876001/