kosen-venture/RocketAnswer

View on GitHub
app/views/user/registrations/new.html.erb

Summary

Maintainability
Test Coverage
<%= content_for :title do %>利用登録<% end %>

<div class="page-header">
  <h1><i class="fa fa-rocket"></i> 利用登録</h1>
</div>

<p>以下の登録情報は、サービス運営の向上のためにのみ活用します。</p>

<%= form_for(resource,
  as: resource_name,
  url: registration_path(resource_name),
  html: { class: 'form-horizontal' }
  ) do |f| %>

  <%= render partial: 'shared/form_error', locals: { object: resource } %>

  <script>
    $(function(){
      // エラーのあるフィールドを赤く
      <% resource.errors.each do |i| %>
        $('#user_<%= i %>').parents('.form-group').addClass('has-error');
      <% end %>

      // focusされたらエラーを消す
      $('input').focus(function() {
        $(this).parents('.form-group').removeClass('has-error');
      });
    });
  </script>

  <h3><i class="fa fa-user"></i> 利用者情報</h3>
  <div class="form-group">
    <%= f.label :name, class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <div class="row">
        <div class="col-xs-6">
          <%= f.text_field :last_name,
            placeholder: '姓',
            autofocus: true,
            class: 'form-control' %>
        </div>
        <div class="col-xs-6">
          <%= f.text_field :first_name,
            placeholder: '名',
            class: 'form-control' %>
        </div>
      </div>
    </div>
    <span class="label label-danger">必須</span>
  </div>

  <div class="form-group">
    <%= f.label :nickname, class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.text_field :nickname,
        class: 'form-control' %>
    </div>
    <span class="label label-danger">必須</span>
    ※一般公開されます
  </div>

  <div class="form-group">
    <%= f.label :email, class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.email_field :email,
        class: 'form-control' %>
    </div>
    <span class="label label-danger">必須</span>
  </div>

  <div class="form-group">
    <%= f.label :password,
      class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.password_field :password,
        autocomplete: "off",
        class: 'form-control' %>
    </div>
    <span class="label label-danger">必須</span>
  </div>

  <div class="form-group">
    <%= f.label :password_confirmation,
      class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.password_field :password_confirmation,
        autocomplete: "off",
        class: 'form-control' %>
    </div>
    <span class="label label-danger">必須</span>
  </div>


  <h3><i class="fa fa-star"></i> 志望大学</h3>
  <p>
    志望大学を設定すると、今後実装される通知機能や絞り込み機能などが利用できるようになります。
    (登録後にも設定・編集が可能です)
  </p>
  <%= f.fields_for :wish_universities do |univ_form| %>
    <div class="form-group">
      <%= univ_form.label "第#{univ_form.index + 1}志望",
        class: 'control-label col-sm-2' %>

      <div class="col-sm-6">
        <div class="row">
          <div class="col-xs-6">
            <%= univ_form.collection_select :university_id,
              @universities,
              :id,
              :name,
              { include_blank: true },
              class: 'form-control', placeholder: '大学名' %>
          </div>
          <div class="col-xs-6">
            <%= univ_form.collection_select :department_id,
              univ_form.object.university.try(:departments) || [],
              :id,
              :name,
              { include_blank: true },
              class: 'form-control', placeholder: '学部・学科名' %>
          </div>
          <%= univ_form.hidden_field :rank, value: univ_form.index + 1 %>
        </div>
      </div>
    </div>
  <% end %>
  <p>
    <small>
      ※一覧に登録されていない大学・学科などがありましたら、
      『<%= link_to 'お問い合わせ', contact_path %>』からご連絡ください。
    </small>
  </p>


  <h3><fa class="fa fa-pencil"></fa> アンケート</h3>
  <p>学生の方はアンケートにご協力ください。</p>
  <div class="form-group">
    <%= f.label :school,
      class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.text_field :school,
        class: 'form-control' %>
    </div>
  </div>

  <div class="form-group">
    <%= f.label :department,
      class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <%= f.text_field :department,
        class: 'form-control' %>
    </div>
  </div>

  <div class="form-group">
    <%= f.label :graduate_year, class: 'control-label col-sm-2' %>
    <div class="col-sm-4">
      <div class="input-group">
        <%= f.text_field :graduate_year, class: 'form-control' %>
        <span class="input-group-addon">年</span>
      </div>
    </div>
  </div>


  <div class="col-sm-7">
    <%= render partial: 'shared/using_notice' %>
  </div>

  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <%= f.submit '登録する', class: 'btn btn-warning' %>
    </div>
  </div>
<% end %>

<%= render "devise/shared/links" %>