Day 13: Devise によるログイン機能付きサイトの作成

/

from Qiita:

Environment

  • 仮想環境 OS: Ubuntu 18.04
  • Ruby:2.51
  • Rails: 5.2.2
  • DB: PostgreSQL

flow

  1. controllers と views を以前の大学データの方から流用
  2. migration ファイル作成
  3. rooting 変更

Contents

make migration file

undefined
1
rails g migration AddNameToStudents name:string gender:integer age:integer opinion:text
2
# 実行
3
# create db/migrate/20190324043018_add_name_to_students.rb

reflect change to DB

undefined
1
rails db:migrate

modify routing

追加

app/confing/routes.rb
1
resources :students
2
root to: 'students#index'

modify views

今回不要な ExamResultNew のリンク削除 ログアウトリンクの作成

app/views/student.html.erb
1
<% @students.each do |student| %>
2
<tr>
3
<td><%= student.try(:name) %></td>
4
<td><%= student.email %></td>
5
<td><%= student.try(:gender) %></td>
6
<td><%= student.try(:age) %></td>
7
<td><%= student.try(:opinion) %></td>
8
<td><%= link_to 'Show', student %></td>
9
<td><%= link_to 'Edit', edit_student_path(student) %></td>
10
<td><%= link_to 'Destroy', student, method: :delete, data: { confirm: 'Are you sure?' } %></td>
11
<%= link_to 'Log Out', destroy_student_session_path, method: :delete %>
12
</tr>
13
<% end %>

modify controller

app/controllers/student_controller.rb
1
class StudentsController < ApplicationController
2
before_action :authenticate_student!
3
end