form_with不提交为AJAX

时间:2019-02-25 22:59:31

标签: javascript ruby-on-rails ajax xmlhttprequest

我的应用程序中有一个表单,该表单通过以下方式声明:

= 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属性设置为#!/bin/bash # from: https://peniwize.wordpress.com/2011/04/09/how-to-read-all-lines-of-a-file-into-a-bash-array/ readarray() { local __resultvar=$1 declare -a __local_array let i=0 while IFS=$'\n' read -r line_data; do __local_array[i]=${line_data} ((++i)) done < $2 if [[ "$__resultvar" ]]; then eval $__resultvar="'${__local_array[@]}'" else echo "${__local_array[@]}" fi } ,但我似乎无法使其以远程表单的形式提交。形成。谁能告诉我我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

使用this.form.submit()不会触发'submit'事件,因此不会调用Rails回调将其作为远程表单处理。

改为使用onchange="Rails.fire(this.form, 'submit')"。这样,您就可以告诉Rails javascript对象触发事件。

编辑:使用的是rails-ujs,但我不确定与jquery-ujs是否相同