user000を先生(role == 'teacher')ユーザーとした.db/seeds.rbのrole:を設定している箇所を参照のこと.三項演算子を用いて,idが0番の場合のみ,先生ユーザーとしている.なお,他のユーザーを’teacher’にしたい場合は,以下の手順でロールを変更できる.
【手順】
bin/rails c
irb(main):001:0> User.find_by(id: X).update(role: 'teacher')
irb(main):002:0> exit
先生ユーザー用マイページの作成
先生ユーザーでログインした場合,生徒一覧が表示されるようにする.
【手順】
vi app/controllers/users_controller.rb
(以下を追記)
class UsersController < ApplicationController
before_action :authenticate_user!
def show
@user = User.find(params[:id])
@students = User.where(role: 'student') if @user.role == 'teacher'
end
end
vi app/views/users/show.html.erb
(以下を追記)
<h1>MyPage for <%= @user.fullname %></h1>
<% if @students != nil %>
<ul>
<% @students.each {|st| %>
<li><%= link_to st.fullname, user_path(st.id) %></li>
<% } %>
</ul>
<% end %>
確認
サーバを起動し,teacher(user000), student(user001)それぞれのロールでマイページが異なることを確認する.
0 件のコメント:
コメントを投稿