Mat*_*ood 27 forms model-view-controller ruby-on-rails
我已经生成了一个脚手架,我们称之为脚手架测试.在那个脚手架中,我有一个_form.html.erb,它正在为动作渲染:new =>:create and:edit =>:update
Rails有时会做很多魔术,我无法弄清楚form_for如何知道如何调用正确的:在按下提交时动作:new和:edit
脚手架形式
<%= form_for(@test) do |f| %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
与非脚手架形式
<% form_for @test :url => {:action => "new"}, :method => "post" do |f| %>
<%= f.submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
<h1>Editing test</h1>
<%= render 'form' %>
Run Code Online (Sandbox Code Playgroud)
<h1>New test</h1>
<%= render 'form' %>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,表单之间没有区别两个模板如何呈现相同的表单但使用不同的操作?
它会检查记录是否为新记录.
@test.new_record? # if true then create action else update action
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13898 次 |
| 最近记录: |