form_for和form_tag有什麼區別? form_remote_for和form_remote_tag有什麼不同?form_for,form_tag之間的區別?
77
A
回答
59
你會使用的form_for的具體型號,
<% form_for @person do |f| %> # you can use f here
First name: <%= f.text_field :first_name %>
Last name : <%= f.text_field :last_name %>
<% end %>
的form_tag創建基本的形式,
<%= form_tag '/person' do -%>
<%= text_field_tag "person", "first_name" %>
<% end -%>
53
form_for
傾向於作爲其第一個參數,一個activerecord對象;它可以輕鬆地進行創建或編輯表單(使用它在一個「新」的觀點,你應該在控制器創建一個空的實例,如:
def new
@foo = Foo.new
end
它還傳遞了一個表單變量來將擋,使你不需要在表單本身重複模型名稱,它是編寫模型相關表單的首選方式
form_tag
只是創建一個表單標籤(當然,默默地準備一個防僞造隱藏字段,如form_for
) ;它最適用於非模型表單(實際上我只用它來做簡單的搜索表單等等)。
類似地,form_remote_for
和form_remote_tag
分別適用於模型相關表單而不是模型相關表單,但不是以標準http方法(GET,POST ...)結束,而是調用ajax方法。
所有這一切,更是爲您提供在FormHelper和PrototypeHelper參考頁享受。
編輯 2012-07-13
Prototype
已經從rails
刪除前不久,和遠程形式已經完全改變了。請參閱第一個鏈接,同時選擇form_for
和form_tag
的:remote
選項。
4
這些應該是相似的:
<% form_for @person do |f| %>
<%= f.text_field :name %>
<% end %>
和:
<%= form_tag '/person' do %>
<%= text_field_tag "person[name]" %>
<% end %>
如果你想提交相同的參數給控制器,你必須明確地定義它。
+0
簡潔精確。 [美麗的期限] – 2017-09-08 04:39:40
相關問題
- 1. form_for和form_tag之間的區別?
- 2. form_for中的model和@model之間的區別?
- 3. '+ ='和'= +'之間的區別?
- 4. YES/TRUE之間的區別?
- 5. {!!之間的區別!!}和{{}}
- 6. isDown()之間的區別isChecked()
- 7. NSStrings之間的區別?
- 8. ==和case之間的區別?
- 9. 同步之間的區別
- 10. user_posts&user_status之間的區別
- 11. '#','%'和'$'之間的區別
- 12. | =和^ = css之間的區別
- 13. 「%〜dp0」和「。\」之間的區別?
- 14. site.master main.master之間的區別
- 15. Console.writeline()/trace.writeline()之間的區別
- 16. Ti.App.VariableName&Ti.App.Properties之間的區別
- 17. .eq之間的區別。和==
- 18. ==和.equals()之間的區別?
- 19. `%in%`和`==`之間的區別
- 20. 加入之間的區別
- 21. 佈局之間的區別?
- 22. Rails 3.0:form_tag如何將這個form_for轉換爲form_tag。
- 23. SPFile和PublishingPage類別之間的區別
- 24. System.Timers.Timer Enabled = true和.Start()之間的區別Enabled = true和.Start()之間的區別
- 25. 時間()與stime()之間的區別
- 26. MySql秒之間的兩個時間戳之間的區別?
- 27. 'form_for @ecard'和'form_for:ecard'有什麼區別?
- 28. javascript中的/ * * /和//之間的區別
- 29. python中的[]和[,,]之間的區別
- 30. QWidget的setStyleSheet和QApplication之間的區別
第二個鏈接不起作用。 – WowBow 2012-07-13 02:59:45
@WowBow你是對的;畢竟,這個答案是相當古老的,Prototype早就從軌道上移除了。我會編輯我的答案。 – giorgian 2012-07-13 11:29:56
這是什麼意思'form_for'「更喜歡」一個ActiveRecord對象? – shiggity 2014-08-21 16:55:24