将form_for对象传递给partial的Rails

时间:2012-09-03 11:01:16

标签: ruby-on-rails object partials actionview

我想将form_for对象传递给部分:

<%= form_for @price do |f| %>
   ...
   <%= render :partial => "price_page", :object => @price, :as => :f %>
   ...
<% end %>

我打电话的时候:

f.radio_button

带来错误:

undefined method `radio_button' for #<Price:0x3cb1ed0>

我如何使用f,就像我在这部分中一样?

2 个答案:

答案 0 :(得分:54)

尝试将表单对象作为本地传递  <%= render :partial => "price_page", :locals=>{:f=>f} %>

答案 1 :(得分:8)

您可以将表单构建器对象作为本地变量传递,如下所示

<%= form_for @price do |f| %>
     <%= render :partial => "price_page", :locals => { :f => f } %>
<% end %>

在您的部分文件中,您将接收表单构建器作为本地变量“f”,您可以使用如下所示,

  <% f.radio_button, {} %>