2016-04-10 6 views
4

これは愚かで簡単な修正(おそらくそうです)のようですが、私はSOや他の領域を運のない状態で探しています。私はundefined method local variable error 'f'私の部分の中で私のビューに使用されています。私は、 "do block"が部分的な部分に達する前に何らかの形で終わっていると仮定していますが、私は100%確実ではありません。定義されていないローカル変数またはメソッド `f '部分的なビュー

ご協力いただきありがとうございます。私は現在、非常に簡単な修正であれば、私と一緒に裸でレールを学んでいます。

部分

<% if user_admin_or_premium? %> 
    <div class="form-group"> 
    <%= f.label :private, class: 'checkbox' do %> 
     <%= f.check_box :private, :true %> Private Wiki? 
    <% end %> 
    </div> 
<% end %> 

ビュー

<div class="col-md-8"> 
    <%= form_for @wiki do |f| %> 
    <div class="form-group"> 
     <%= f.label :title %> 
     <%= f.text_field :title, class: 'form-control', placeholder: "Enter Wiki Title" %> 
    </div> 
    <div class="form-group"> 
     <%= f.label :body %> 
     <%= f.text_area :body, rows: 10, class: 'form-control', placeholder: "Enter Wiki Body" %> 
    </div> 
    <%= render "wikis/form", f: f %> 
    <div class="form-group"> 
     <%= f.submit "Save", class: 'btn btn-success' %> 
    </div> 
    <% end %> 
</div> 

完全なエラー

NameError in Wikis#new 

undefined local variable or method `f' 

<% if user_admin_or_premium? %> 
    <div class="form-group"> 
    <%= f.label :private, class: 'checkbox' do %> 
     <%= f.check_box :private, :true %> Private Wiki? 
    <% end %> 
    </div> 

答えて

9

を省略あなたのレンダリング機能から10キー:

<%= render "wikis/form", f: f %>

簡単に修正、確かに明白ではない、私は前に同じ問題で困惑してきました。上記の文は次のと同等です:

<%= render partial: "wikis/form", locals: { f: f } %>

+1

これ。 fを部分に渡す。 –

+0

まだ運がありません。同じエラーメッセージが表示されます。元の投稿の中に完全なエラーメッセージを投稿しました。助けてくれてありがとうbtw! – Tucker

+0

あなたの助けを借りて終了しました、ありがとう! – Tucker