Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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
Ruby on rails Rails关闭而不从编辑页保存_Ruby On Rails_Crud - Fatal编程技术网

Ruby on rails Rails关闭而不从编辑页保存

Ruby on rails Rails关闭而不从编辑页保存,ruby-on-rails,crud,Ruby On Rails,Crud,我有一个典型的CRUD应用程序,我想在f.submit旁边添加一个链接,允许您在不保存更改的情况下返回索引。我原以为这会像创建一个索引链接一样简单,但无论如何它都在保存更改 <%= button_to 'Close Without Saving', users_path %> <%= f.submit %> rails是如何处理此问题的?来自: [button\u to]生成一个表单,其中包含一个按钮,该按钮提交到由选项集创建的URL 因此,在表单中使用按钮将尝试创

我有一个典型的CRUD应用程序,我想在f.submit旁边添加一个链接,允许您在不保存更改的情况下返回索引。我原以为这会像创建一个索引链接一样简单,但无论如何它都在保存更改

<%= button_to 'Close Without Saving', users_path %>
<%= f.submit %>

rails是如何处理此问题的?

来自:

[
button\u to
]生成一个表单,其中包含一个按钮,该按钮提交到由选项集创建的URL

因此,在表单中使用
按钮将尝试创建嵌套表单,但HTML表单不会嵌套。结果将是类似以下内容的HTML结构:

<form>
    <form><!-- from button_to -->
        <input type="submit">
    </form>
    <input type="submit"><!-- from f.submit -->
</form>

但浏览器将忽略内部的
,并假定您的意思是:

<form>
    <input type="submit"><!-- from button_to -->
    <input type="submit"><!-- from f.submit -->
</form>

然后按任一
将提交外部表单

您可以在外部表单中创建另一个提交按钮,控制器可以检查按下了哪个按钮,或者您可以使用
link\u to
并设置链接样式以匹配您的提交按钮(或者根据您的偏好将其设为链接样式)。

关闭而不保存

这也奏效了。。。回到了基础,使用了好的老式HTML

是的,建立一个链接,使其正常工作。我没有意识到按钮的作用不同,我认为它只是显示不同。
<button type="button" onClick="location.href='<%= users_path %>'">Close Without Saving</button>
<%= f.submit %>