我有一個典型的CRUD應用程序,我想在f.submit旁添加一個鏈接,它允許您在不保存更改的情況下返回索引。我認爲這只是建立索引鏈接的簡單方法,但它仍然可以保存更改。Rails在沒有從編輯頁面保存的情況下關閉
<%= button_to 'Close Without Saving', users_path %>
<%= f.submit %>
什麼是處理這種方式的軌道方式?
我有一個典型的CRUD應用程序,我想在f.submit旁添加一個鏈接,它允許您在不保存更改的情況下返回索引。我認爲這只是建立索引鏈接的簡單方法,但它仍然可以保存更改。Rails在沒有從編輯頁面保存的情況下關閉
<%= 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。
是的,使一個link_to使它適當地工作。我沒有意識到按鈕的行爲不同,我認爲它顯示的方式不同。 –