【体験談】テックアカデミーメンタリング12回目:View でのデバッグと値の渡し方について

【体験談】テックアカデミーメンタリング12回目:View でのデバッグと値の渡し方について テックアカデミー体験記
記事内に広告が含まれています。

この記事では、テックアカデミー(Webアプリケーションコース)のメンタリング第12回目の内容について書いています。

内容としては、 View 側でのデバッグと、値の渡し方についてです。

テックアカデミーのメンタリング第12回目の内容

内容としては、以下です。

  • View 側でのデバッグ方法
  • ユーザーの編集ページで初期値を渡す方法

発生した問題

発生した問題としては、学部が選択されている状態で表示されていたのですが、学部を選ばないと学科を選べない仕様にしてあることもあり、学科が選択されていない状態で表示されていました。

上記の問題を解決した後は、ユーザーの編集ページに行くと、下記のように上手く表示されるようになりました!

問題の箇所

なので今回は、どのように解決したのかについて書いていきます!

View 側でのデバッグ

まず、どのような挙動か確認するために、問題が起きている /views/users/edit.html.erb ファイルの後ろの行に、下記を記述し、@user の値を確認します。

<%= debug @user %>

selected を使い @user.subject_id を渡す

デバッグしたことで、学科の初期値が渡せていないことが分かったので、以下のように修正しました。

/views/users/edit.html.erb

修正前

<div class="form-group">
<%= f.label :subject_id, '学科' %>
<span id='subject_result'>
<%= collection_select :user, :subject_id, Subject.all, :id, :name, {:prompt => "選択してください"}, class: 'form-control' %>
</span>
</div>

修正後

<div class="form-group">
<%= f.label :subject_id, '学科' %>
<span id='subject_result'>
<%= collection_select :user, :subject_id, Subject.where(id: @user.subject_id), :id, :name, {selected: @user.subject_id, :prompt => "選択してください"}, class: 'form-control' %>
</span>
</div>

Subject.where(id: @user.subject_id) と、selected: @user.subject_id を追加することによって、ユーザーの編集ページでも学部、学科の初期値が入力された状態になりました!

テックアカデミーのメンタリング第12回目を終えて|まとめ

ここまで、テックアカデミー(Webアプリケーションコース)のメンタリング12回目の内容について書いてきました。

今回で、テックアカデミーのメンタリングも早12回目。残すところ後3回となりました。

次回は、第13回目です!

テックアカデミーのWebアプリケーションコースを終えての記事も書いているので、よかったら見てみてください!

コメント

  1. nbarrios より:

    どうもありがとうございました! tony clifton taxi

タイトルとURLをコピーしました