我在編輯條目後試圖重定向到不同的頁面,我假定它使用更新代碼,因爲您正在更新數據庫。我花了一些時間才意識到我在控制器中使用了錯誤的動作。有人可以解釋如何編輯和更新工作。爲什麼有兩種不同的操作?他們之間有什麼區別?Restful Rails編輯與更新
回答
編輯操作負責渲染視圖
更新動作負責與模型交互(DB更新等)
如果運行rake routes
你會看到動詞的區別和行動。通常,提交表單時使用創建/更新操作。這與用於呈現視圖(顯示要提交的表單)的新操作和編輯操作不同。
他們叫什麼順序?它經歷了什麼過程?編輯 - >更新 - >編輯?如果我在編輯中加入重定向,它將不會進行更新? – Rumpleteaser 2010-10-12 00:28:31
正確。如果你想在*之後重定向某人*,他們已經更新了一個條目,那麼你需要將重定向放在更新操作中。 – theIV 2010-10-12 00:55:32
因此,只有2個事件在該鏈中:編輯,呈現表單,然後在用戶提交時更新。如果你redirect_to去一個不同的頁面(默認通常是腳手架上的顯示視圖),那麼你會有第三個。 – 2010-10-12 03:15:48
另一種觀點 - 有點多餘,突出異同:
新是前體動作來呈現形式,即在提交,運行創建行動。 (視圖通常被重定向回出類似的項目列表,你已經創建索引視圖)
編輯是前體動作來呈現形式,即在提交,運行更新行動。 (視圖通常重定向回顯示您已經創建的類似項目列表的索引視圖)
- 1. rails RESTful更新
- 2. Rails 4:編輯/更新線程,編輯/更新文章
- 3. rails carrierwave編輯/更新表格
- 4. 無需編輯的Rails更新模型
- 5. Rails 3 - 允許編輯而不更新?
- 6. 通過內聯編輯調用Rails更新方法
- 7. 編輯,更新記錄與DAO.Recordset
- 8. 「資源/ 1 /編輯」RESTful?
- 9. PHP更新/ MySQL編輯行編輯器
- 10. Rails:編輯/更新後如何讓ajax刷新索引?
- 11. 如何從Rails中的編輯/更新中更改inpus?
- 12. Ruby on Rails - 編輯/更新創建新記錄,而不是更新
- 13. Rails的form_tag與RESTFul參數
- 14. RESTful更新密碼
- 15. 更新/編輯數據庫
- 16. 的Eclipse:更新編輯
- 17. gridview編輯和更新
- 18. 編輯器不更新
- 19. Prestashop編輯沒有更新
- 20. 編輯和更新.NET DataList
- 21. 編輯後用更新
- 22. 更新後DataGridView編輯
- 23. AJAX驗證編輯/更新
- 24. 編輯和更新gridview
- 25. 骨幹:我需要更改更新網址爲Rails的RESTful
- 26. Enabiling文本框與編輯按鈕並更新新的文本
- 27. Rails編輯/更新操作不適用於嵌套模型(has_many:through)
- 28. Rails Activerecord更新保存未編輯的字段爲空
- 29. rails 4 ajax編輯表單不發射更新
- 30. Rails 4:編輯和更新用戶屬性
我有可以分解爲兩個不同類別的任務。我爲每個類別創建了一個控制器,鏈接到相同的任務模型。當我提交編輯表單時,它將重定向回控制器顯示操作的主要任務。它似乎是一起跳過com_tasks控制器(com_tasks =其中一個類別控制器)。我查看了呈現的html輸出,並將表單提交給了錯誤的控制器,但是我看不到任何可以改變它的方法。 – Rumpleteaser 2010-10-12 00:46:49