使用form_for与以下方法有什么区别:
<% form_for @user do |f| %>
<%= f.label :name %>:
<%= f.text_field :name, :size => 40 %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
和:
<% form_for :user, :url => {:action => 'create'} do |f| %>
<%= f.label :name %>:
<%= f.text_field :name, :size => 40 %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
使用@user只是自动使用CRUD方法进行URL操作吗?
如果您给出form_for一个没有实例变量的符号,它将查找具有相同名称的实例变量。
文档说:
例如,如果 @post 是您要编辑的现有记录
Run Code Online (Sandbox Code Playgroud)<% form_for @post do |f| %> ... <% end %>相当于:
Run Code Online (Sandbox Code Playgroud)<% form_for :post, @post, :url => post_path(@post), :html => { :method => :put, :class => "edit_post", :id => "edit_post_45" } do |f| %> ... <% end %>
| 归档时间: |
|
| 查看次数: |
1624 次 |
| 最近记录: |