この記事では、テックアカデミー(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アプリケーションコースを終えての記事も書いているので、よかったら見てみてください!

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