Rails在不从编辑页面保存的情况下关闭



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

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

铁路处理这件事的方法是什么?

来自精细手册:

[button_to]生成一个表单,该表单包含一个提交到由选项集创建的URL的按钮。

因此,在表单中使用button_to将尝试创建嵌套表单,但HTML表单不会嵌套。结果将是一个类似于这样的HTML结构:

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

但浏览器会忽略内部的<form>,并假设您的意思是:

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

然后按下任一<input type="submit">将提交外部表格。

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

<button type="button" onClick="location.href='<%= users_path %>'">Close Without Saving</button>
<%= f.submit %>

这也起到了作用。。。回到了基础,并使用了良好的老式HTML。

最新更新