如何在Rails 4中呈现部分表单?

fab*_*bbb 9 ruby-on-rails ruby-on-rails-4

未定义的局部变量或方法`f'用于#<#:0x000001080edfe0>

我试图在模板页面中呈现一个表单:

<%= form_for @vehicle, html: { class: "f_grp" }, remote: true do |f| %>
  <%= render "vehicles", locals: { f: f } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

文件正在载入.但我得到一个未定义的f错误方法.有任何想法吗?

mea*_*gar 27

您只在使用:locals时使用:partial.

这些都是正确的:

<%= render partial: 'vehicles', locals: { f: f } %>
Run Code Online (Sandbox Code Playgroud)

或者(从Rails 2.3开始):

<%= render 'vehicles', f: f %>
Run Code Online (Sandbox Code Playgroud)

您的版本结合了两者,创建一个本地调用locals并将其值设置为包含的哈希f: FormBuilder....

值得注意的是,仍然使用的唯一原因locals:是你使用时render :collection.