2011-11-11 18 views
0

我有一個典型的CRUD應用程序,我想在f.submit旁添加一個鏈接,它允許您在不保存更改的情況下返回索引。我認爲這只是建立索引鏈接的簡單方法,但它仍然可以保存更改。Rails在沒有從編輯頁面保存的情況下關閉

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

什麼是處理這種方式的軌道方式?

回答

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並對鏈接進行樣式設置以匹配您的提交按鈕(或根據您的偏好設置鏈接的樣式)。

+0

是的,使一個link_to使它適當地工作。我沒有意識到按鈕的行爲不同,我認爲它顯示的方式不同。 –

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

這也工作...回到基礎和使用良好的老式的HTML。

相關問題