2017-05-15 6 views
0

My Deviseのサインアップフォームには、簡単な電子メール以上のものが含まれています。これには8つのフィールドとドロップダウンが含まれています。私は、サインアップ広告のユーザープロフィールの更新にレイアウトを一度しか定義しないために、部分的な使い方をしたいと思います。Deviseのサインアップで部分的に使用するには?

<div class="col-md-3 col-md-offset-2"> 
    <div class="field"> 
     <%= f.label :login %><br /> 
     <%= f.text_field :login, autofocus: true %> 
    </div> 
    </div> 
    <div class="col-md-3"> 
    <div class="field"> 
     <%= f.label :password %> 
     <% if @minimum_password_length %> 
     <em>(<%= @minimum_password_length %> characters minimum)</em> 
     <% end %><br /> 
     <%= f.password_field :password, autocomplete: "off" %> 
    </div> 
    </div> 
    <div class="col-md-3"> 
    <div class="field"> 
     <%= f.label :password_confirmation %><br /> 
     <%= f.password_field :password_confirmation, autocomplete: "off" %> 
    </div> 
    </div> 

とのように見える「new.html.erb」ビュー、::だから私はどのように見える部分を作成した残念ながら、F変数が部分的に渡されていない

<% provide(:title, t('Registration')) %> 

<h2>Please sign up</h2> 

<div class="container"> 
    <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 
    <div class="row"> 
     <div class="col-md-3 col-md-offset-2"> 
     <%= devise_error_messages! %> 
     </div> 
    </div> 

    <div class="row"> 

     <%= render "devise/shared/user", locals: {f: f}%> 

     <div class="col-md-3"> 
     <div class="actions"> 
      <br/> 
      <%= f.submit "Sign up" %> 
     </div> 
     </div> 
    </div> 
    <% end %> 

    <div class="row"> 
     <div class="col-md-3 col-md-offset-2"> 
     <%= render "devise/shared/links" %> 
     </div> 
    </div> 
    </div> 

。このエラーが表示されます:

Showing /home/fred/55Projets/development/Stairs/app/views/devise/shared/_user.html.erb where line #4 raised: 

undefined local variable or method `f' for #<#<Class:0x007fa656e26f90>:0x007fa6448a34e0> 

Extracted source (around line #4):   


2  <div class="col-md-3 col-md-offset-2"> 
3  <div class="field"> 
4   <%= f.label :login %><br /> 
5   <%= f.text_field :login, autofocus: true %> 
6  </div> 
7  </div> 

Trace of template inclusion: app/views/devise/registrations/new.html.erb 

ありがとうございます!

答えて

0

<%= render "devise/shared/user", f: f %> 
それを直接渡す試してみてください
関連する問題