我的应用程序中有一个表单,该表单通过以下方式声明:
= 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
}
,但我似乎无法使其以远程表单的形式提交。形成。谁能告诉我我可能做错了什么?
答案 0 :(得分:1)
使用this.form.submit()
不会触发'submit'事件,因此不会调用Rails回调将其作为远程表单处理。
改为使用onchange="Rails.fire(this.form, 'submit')"
。这样,您就可以告诉Rails javascript对象触发事件。
编辑:使用的是rails-ujs,但我不确定与jquery-ujs是否相同