2017-07-13 9 views
0

ユーザ登録フォームに従属フィールドを実装しようとすると、dependent fields rails gemthis video tutorialを使用しています。私の登録フォームには、ユーザーが自分の役割を選択できるフィールドがあります(enumを使用して実装されています)。大学の分野をデフォルトで非表示にして、ユーザーが自分の役割として「スタッフ」を選択した場合にのみ表示します。現在の動作では、すべてのフォームフィールドがロード時に表示されます。私は間違って何をしていますか? newbのためのどんな助けも大いにありがとう!私は他のSOの質問を読んだが、これを動作させるように見えない。ここでRails Dependent Formフィールド

は私のフォームです:ここで

<% provide(:title, 'Sign up') %> 
<h1>Sign up</h1> 

<div class="row"> 
    <div class="col-md-6 col-md-offset-3"> 
    <%= form_for(@user) do |f| %> 
     <%= render 'shared/error_messages', object: f.object %> 
     <%= f.label :name %> 
     <%= f.text_field :name, class: 'form-control' %> 

     <%= f.label :email %> 
     <%= f.email_field :email, class: 'form-control' %> 

     <%= f.label :role %> 
     <%= f.select(:role, User.roles.keys.map {|role| [role.titleize,role]}, :include_blank => "Please Select") %> 

     <%= content_tag :div, class: 'js-dependent-fields', data: { 'data-select-id': 'user_role', 'data-option-value': 'staff'} do %> 
     <%= f.label :university_id%> 
     <%= collection_select(:user, :university_id, University.all, :id, :name, prompt: true) %> 
     <% end %> 

     <%= f.label :password %> 
     <%= f.password_field :password, class: 'form-control' %> 

     <%= f.label :password_confirmation, "Confirmation" %> 
     <%= f.password_field :password_confirmation, class: 'form-control' %> 

     <%= f.submit "Create my account", class: "btn btn-primary" %> 
    <% end %> 
    </div> 
</div> 

は私application.jsの下の部分です:

//= require jquery 
//= require jquery.turbolinks 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require underscore 
//= require dependent-fields 
//= require_tree . 

$(document).ready(function() { 
    DependentFields.bind() 
}); 
+1

あなたはJSエラーを表示しますか? '$(document).ready(...)'に対して 'DependentFields.bind()'を呼び出しましたか? –

+0

ブラウザのコンソールに何も表示されません。私は元の質問に自分のapplication.jsを追加しています。 – mike9182

+0

私もvendor/assets/javascriptsにunderscore.jsを持っています – mike9182

答えて

1

が原因ではないかもしれませんが、あなたのデータ属性は、余分な「データ - 」を付加していますブロック私は信じて:

<%= content_tag :div, class: 'js-dependent-fields', data: { 'data-select-id': 'user_role', 'data-option-value': 'staff'} do %> 
    vv 
<%= content_tag :div, class: 'js-dependent-fields', data: { 'select-id': 'user_role', 'option-value': 'staff'} do %> 
+0

これは修正されました!ありがとうアンドリュー! – mike9182

+0

ああ甘い!問題ない。私の答えに投票してください:) – Andrew

関連する問題