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

时间:2014-02-26 05:22:01

标签: ruby-on-rails ruby-on-rails-4

  

#<#:0x000001080edfe0>

的未定义局部变量或方法`f'

我正在尝试使用以下内容在模板页面中呈现表单:

<%= form_for @vehicle, html: { class: "f_grp" }, remote: true do |f| %>
  <%= render "vehicles", locals: { f: f } %>
<% end %>

正在加载文件。但是我在f错误上得到了一个未定义的方法。有什么想法吗?

1 个答案:

答案 0 :(得分:26)

使用:locals时,您只能使用:partial

其中任何一个都是正确的:

<%= render partial: 'vehicles', locals: { f: f } %>

或者(从Rails 2.3开始):

<%= render 'vehicles', f: f %>

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

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