我在我的应用程序中有一个表单,我将通过以下方式声明:
= 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()
不会触发'submit'事件,因此不会调用Rails回调来处理它作为远程表单。
请改用onchange="Rails.fire(this.form, 'submit')"
。这样你告诉Rails javascript对象来激活事件。
编辑:那是使用rails-ujs,我不确定它是否与jquery-ujs相同