form_for和form_tag有什么区别?form_remote_for和form_remote_tag有什么不同吗?
ez.*_*ez. 61
您可以将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 %>
Run Code Online (Sandbox Code Playgroud)
Form_tag创建基本表单,
<%= form_tag '/person' do -%>
<%= text_field_tag "person", "first_name" %>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
gio*_*ian 53
form_for作为第一个arg,他更喜欢一个活跃的记录对象; 它允许轻松创建或编辑表单(要在"新"视图中使用它,您应该在控制器中创建一个空实例,如:
def new
@foo = Foo.new
end
Run Code Online (Sandbox Code Playgroud)
它还将表单变量传递给块,这样您就不必在表单本身中重复模型名称.这是编写模型相关表单的首选方式.
form_tag只是创建一个表单标签(当然,默默地准备一个反伪造隐藏字段,如form_for); 它最适用于非模型表单(实际上我只将它用于简单的搜索表单等).
类似地,form_remote_for并且form_remote_tag分别适用于模型相关表单而不是模型相关表单,但是它们不是以标准http方法(GET,POST ...)结尾,而是调用ajax方法.
所有这些以及更多可供您在FormHelper中享受 和PrototypeHelper 参考页面.
编辑 2012-07-13
Prototype已经从rails很久以前删除,远程表单已经完全改变.请参阅第一个链接,并:remote选择两者form_for和form_tag.
| 归档时间: |
|
| 查看次数: |
31556 次 |
| 最近记录: |