0

ユーザー登録フォームがあります:

<%= form_for(resource, :as => resource_name, 
        :url => registration_path(resource_name), 
        :id => "employer-form") do |f| %>
    <%= devise_error_messages! %>

    <p><%= f.email_field :email, :autofocus => true, :title => "Enter email", :value =>"Enter Email", :class =>"field" %></p>

    <p><%= f.text_field :profile_name, :autofocus => true, :title => "Enter Username", :value => "Enter Username", :class =>"field" %></p>


    <p class="clearfix">
       <%= f.password_field :password, :title => "Enter Password", :value => "Enter Password", :class => "field field-half" %>
       <%= f.password_field :password_confirmation, :title => "Retype Password", :value => "Retype Password", :class => "field field-half" %>     
    </p>

    <p class="clearfix"> 
       <%= f.text_field :first_name, :title => "Enter First Name", :value => "Enter First Name", :class => "field field-half" %>
       <%= f.text_field :last_name, :title => "Retype Last Name", :value => "Enter Last Name", :class => "field field-half" %>
    </p>

    <p class="clearfix">
       <div class="custom-select">
           <%= f.select_tag(:how_did_you_hear, options_for_select
               ([["Bing", :bing],["College Rep", :college_rep],
               ["Facebook", :facebook],["Google", :google],
               ["Pinterest", :pinterest],["Yahoo", :yahoo],
               ["Twitter", :twitter],["Other", :other]])) %>
       </div>  
    </p>

    <div><%= f.submit "Sign up" %></div>
 <% end %>

「f」を削除すると、select タグが機能します。その直前。しかし、それを取り除くと、ユーザーオブジェクトには行きません。「f」を入れると。で、次のように述べています。

undefined method `select_tag' for #<ActionView::Helpers::FormBuilder:0x007f950db434e0>

同様のスタックオーバーフローの質問を見たことがありますが、役に立ちません。ドキュメントではこれについて簡単に説明していますが、私のような初心者にとっては複雑すぎて理解できません。

4

2 に答える 2

5

f.selectはないからf.select_tagです。http://guides.rubyonrails.org/form_helpers.html#select-boxes-for-dealing-with-modelsを参照してください

于 2013-10-23T15:22:01.320 に答える