Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用服务器端验证逻辑在Rails中显示Javascript确认对话框_Javascript_Ruby On Rails - Fatal编程技术网

使用服务器端验证逻辑在Rails中显示Javascript确认对话框

使用服务器端验证逻辑在Rails中显示Javascript确认对话框,javascript,ruby-on-rails,Javascript,Ruby On Rails,我的Rails应用程序中有一个标准表单 在某些情况下,我希望在单击Submit按钮时显示一个Javascript确认对话框。问题是,我需要确定是否在服务器端显示此确认,而不是在请求提交到服务器之前在Javascript中显示此确认 解决这个问题的最佳方案是什么 我是否应该使用AJAX并将标记的表单更改为标记的远程表单?然后,我将能够选择format.js响应,在我的控制器中显示确认对话框,但它确实感觉有点混乱 或者我应该忘记用Javascript来实现这一点,而只是显示一个中间确认页面吗?我不熟

我的Rails应用程序中有一个标准表单

在某些情况下,我希望在单击Submit按钮时显示一个Javascript确认对话框。问题是,我需要确定是否在服务器端显示此确认,而不是在请求提交到服务器之前在Javascript中显示此确认

解决这个问题的最佳方案是什么

我是否应该使用AJAX并将标记的
表单更改为
标记的
远程表单?然后,我将能够选择
format.js
响应,在我的控制器中显示确认对话框,但它确实感觉有点混乱


或者我应该忘记用Javascript来实现这一点,而只是显示一个中间确认页面吗?

我不熟悉Ruby on Rails,但在我看来,客户端和服务器之间的一般流程是:

# Client request is >
# Server response is <
> /perform/action?arg1=abc
< {"perform":"action","confirmation_required":true}
> /perform/action?arg1=abc&confirm=1
#客户端请求为>
#服务器响应为<
>/perform/action?arg1=abc
<{“执行”:“操作”,“需要确认”:true}
>/perform/action?arg1=abc&confirm=1

因此,基本上,让服务器上的脚本只返回一个响应,告诉客户端它必须确认操作并重新发送请求,然后客户端显示一个对话框,如果按下OK,向请求添加一个标志,表示用户已确认该请求。

您可以让控制器方法在闪存中设置一个标志,以指示是否应显示确认对话框。您的查看代码取决于此标志的存在。

问题是,在提交表单之前,我不知道是否显示确认对话框(即,它基于表单中输入的用户数据)。如果表单已提交,则单击“提交”按钮后,如何显示确认对话框?现在已经太晚了。你找到解决方法了吗?