1

次の for および部分セットアップがありますが、部分が変数 |builder| を認識しないというエラーが発生し続けます。

<%= simple_form_for @firm  do |f| %>

<%= f.fields_for :events do |builder| %>
          <%= render 'event_fields', :builder => builder  %>
  <% end %>

<%= end %>

_events_fields パーシャル

<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" %>

変数をどのようにパディングする必要があるか考えていますか? または実際にこれが正しい方法ですか?これを行う必要がある方法と理由について、誰かがもう少し理解するのを手伝ってくれると本当に助かります。

4

2 に答える 2

3

部分的なビューであることを伝え、ハッシュを locals オプションに渡す必要があります。そのようです:

<%= 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 %>
于 2012-05-13T17:34:27.917 に答える