Rails关闭而不保存编辑页面

时间:2011-11-11 03:27:04

标签: ruby-on-rails crud

我有一个典型的CRUD应用程序,我想在f.submit旁边添加一个链接,允许您返回索引而不保存更改。我认为它只是简单地建立索引链接,但无论如何它都在保存更改。

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

处理此问题的轨道方式是什么?

2 个答案:

答案 0 :(得分:1)

来自fine manual

  

[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并设置链接样式以匹配您的提交按钮(或者将其设置为类似于链接的样式根据您的喜好)。

答案 1 :(得分:0)

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

这也很有用......回到基础并使用了很好的老式HTML。