Ruby on rails 将变量传递到部分

Ruby on rails 将变量传递到部分,ruby-on-rails,ruby-on-rails-3,variables,partial-views,Ruby On Rails,Ruby On Rails 3,Variables,Partial Views,我有以下for和partial设置,但我不断得到一个错误,即partial无法识别变量| builder | 形式 建筑商%> _事件\u字段部分 <fieldset> <%= builder.input :name, :collection => ['Applications Open', 'Applications Close', 'Traineeship Starts'] %> <%= builder.text_field :start_at, :c

我有以下for和partial设置,但我不断得到一个错误,即partial无法识别变量| builder |

形式


建筑商%>
_事件\u字段部分

<fieldset>
<%= builder.input :name, :collection => ['Applications Open', 'Applications Close', 'Traineeship Starts'] %>
<%= builder.text_field :start_at, :class => 'datepicker' %>
<%= builder.hidden_field :all_day, :value => true %>
<%= link_to "remove", '#', class: "remove_fields" %>

[‘申请打开’、‘申请关闭’、‘实习开始’]>
'日期选择器''>
正确%>


知道我应该如何填充变量吗?或者事实上这是正确的做法?如果有人能帮我更多地了解您需要如何以及为什么这样做,那将非常有帮助。

您需要告诉它,这是一个局部视图,并将哈希传递给本地选项。像这样:

<%= simple_form_for @firm  do |f| %>
    <%= f.fields_for :events do |builder| %>
        <%= render partial: 'event_fields', locals: {builder: builder} %>
    <% end %>
<% end %>

如果您使用的是Ruby 1.8,那么:

<%= simple_form_for @firm  do |f| %>
    <%= f.fields_for :events do |builder| %>
        <%= render :partial => 'event_fields', :locals => { :builder => builder } %>
    <% end %>
<% end %>

'event_fields',:locals=>{:builder=>builder}%>

partial\u name
将替换为实际的部分名称或带有目录名的部分名称

我们将向分部提供
data\u object
对象,该对象在分部的局部变量
data\u variable
下可用,相当于:

<%= render partial: "partial_name", locals: { data_variable: data_object } %>

<%= render partial: "partial_name", locals: { data_variable: data_object } %>