2012-05-13 14 views
1

私は以下の部分セットアップをしていますが、パーシャルが変数|ビルダー|を認識しないというエラーが発生します。パーサーに変数を渡す

<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 'event_fields', :builder => builder %> 
    <% end %> 

<%= end %> 

_events_fields私は全体の変数をパディングする方法任意のアイデア?実際にこれが正しい方法であれば?どのように、なぜあなたがこれを行う必要があるのか​​、もう少し理解するのを助けることができるのは本当に役に立ちます。

答えて

3

これは部分的な表示であり、ローカルオプションにハッシュを渡す必要があることを伝える必要があります。あなたはルビー1.8を使用している場合

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

:そう同様

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

極上!助けてくれてありがとうDaz – RMcNairn

0

partial_nameは、実際の名前の一部またはディレクトリ名を持つ部分的な名前に置き換えだろう。

は、我々は、部分的にローカル変数data_variable下で利用可能な、部分的にdata_objectオブジェクトを提供してに相当します:

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