以下是工作的Rails std形式。Rails3形式部分重用
<div id="content-form">
<%= form_for @passion, url: passion_path do |f| %>
<%#= render :partial => "form", :f => f %>
<div class="alternate">
<%= f.label "Status" %>
<%= f.text_field :status %>
</div>
<% end %>
</div>
現在我提取偏_form.html.erb
下列要求:
<div class="alternate">
<%= f.label "Status" %>
<%= f.text_field :status %>
</div>
而且更新的形式爲:
<div id="content-form">
<%= form_for @passion, url: passion_path do |f| %>
<%= render :partial => "form", :f => f %>
<% end %>
</div>
但現在,這將引發一個錯誤抱怨f
變量。
undefined local variable or method `f' for #<#<Class:0x0000012d51d3e8>:0x0000012d796ef8>
Extracted source (around line #2):
1: <div class="alternate">
2: <%= f.label "Status" %>
3: <%= f.text_field :status %>
4: </div>
這是爲什麼?它漂亮的Rails基礎。
有一件事要考慮資源@passion
是單數。即resource :passion
(用戶has_one passion)
由於這個原因,我必須在form_for ...
中使用顯式的url: passion_path
。
順便說一句,使用Rails 3.2.9