我正在閱讀Rails書籍,迄今爲止它一直使用form_for
來創建表單。在爲用戶構建登錄頁面的新篇章中,它正在使用form_tag
。 所以我想知道什麼時候以及如何知道使用哪一個?這是否只是一個教育性的事情,他也做了這個form_tag
?還是應該考慮更多的技術原因?form_for和form_tag,何時使用哪一個?
10
A
回答
18
14
在大多數情況下,當您使用模型將數據發送到數據庫時,使用的方法有create
,update
,destroy
。對於這種類型的操作,您可以使用form_for
。
相反form_tag
只創建一個簡單的HTML form
,例如,搜索:
<%= form_tag("/search", :method => "get") do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
相關問題
- 1. Rails 3.0:form_tag如何將這個form_for轉換爲form_tag。
- 2. form_for和form_tag有什麼區別?
- 3. form_for和form_tag之間的區別?
- 4. form_for,form_tag之間的區別?
- 5. 爲什麼使用form_tag和form_for在rails(erb)中更改?
- 6. form_tag或form_for更新外部API? Rails 3.2
- 7. 製作的form_tag更像的form_for
- 8. 將form_for轉換爲form_tag的麻煩
- 9. 重新格式化的form_tag到的form_for使用formaction
- 10. 一種不使用form_for或form_tag的Rails表單助手的方法
- 11. 休眠和JPA級聯類型何時使用哪一個和哪個
- 12. 如何驗證form_for元素以及form_tag元素?
- 13. 使用的form_tag
- 14. 使用的form_tag
- 15. 何時使用NoSql,以及哪一個?
- 16. WLink vs WAnchor /何時使用哪一個
- 17. 如何使用form_for?
- 18. rack.session.options - 何時使用哪個?
- 19. 何時使用哪個()?
- 20. 在使用的form_tag
- 21. 混淆何時使用適配器和哪一個?
- 22. 你如何從form_tag發佈一個值?
- 23. 如何建立一個合適的form_tag
- 24. 使用form_tag時傳遞錯誤消息?
- 25. rails更新和創建一個form_for
- 26. 如何防止在使用form_for和.new時污染rails對象?
- 27. 如何在使用form_for時創建密碼和確認?
- 28. 的Rails的form_for(的form_tag)更改標識問題
- 29. 什麼是date_select等同於form_tag而不是form_for?
- 30. 解析form_for/form_tag來獲取URL或控制器/動作
我喜歡這個,因爲你的榜樣暗示說'form_tag'通常用於「搜索」功能,並且事實它通常不完美地映射到控制器#動作 – mmcrae
我想補充一點,form_tag適合創建基於會話的表單。正如你所說,當與數據庫進行交互時,form_for就是要走的路。 – BKSpurgeon