在我的Rails应用程序中,我有一个带有无线电类型输入和后置方法的表单。用户选择这些无线电选项之一并提交表单。如何根据所选输入值(现在位于后期数据中)的值来设置路径(以routes.rb
或其他方式)选择控制器。在routes.rb
params
哈希不可用,但是我可以通过其他方式访问此数据吗?
答案 0 :(得分:0)
我想到了两个选择:
使用JavaScript拦截提交操作。在提交时,读取所选单选项的值,将表单的目标属性更改为您希望使用的URL并提交表单。
为了使JavaScript不引人注目,可以将目标的URL添加为无线电选项的data-target
属性。这样,一旦获得选定的值,只需将表单目标替换为data-target
的值即可。好处是您可以生成服务器端,而不必对值进行硬编码。
使用中间动作。始终将表单提交给读取有效负载的操作,并根据有效负载值重定向到相关的控制器操作。