以下是有效的 Rails 标准格式。
<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 激情)
因此,我必须url: passion_path
在form_for ...
.
顺便说一句,使用 Rails 3.2.9