13일(1): Devise를 통한 로그인 기능 웹 사이트 만들기

5306 단어 RubyRails
12일차: 12일차: PostgreSQL을 사용한 로그인 기능 웹 사이트의 계속

컨디션

  • 호스트 OS: Windows 10 호스트
  • 가상 환경 OS: Ubuntu Bento/Bionic
  • Ruby:2.51
  • Rails: 5.2.2
    - 주 사용gem:devise(인용하다)
  • DB: PostgreSQL
  • 저번에 한 일

  • nodejs와postgresql
  • 설치
  • rails new self_univ3-d postgresql 및 bundle install (devise)
  • PostgreSQL의 경로 설정, DB 제작
  • rails g devise:install
  • 모델에 devise를 추가합니다.rails g devise Student
  • 금번

  • 이전의 대학 데이터에서 controllers와views
  • 를 유용
  • migration 파일 만들기
  • 루트 변경
  • 실제 조작


    controllers 폴더와views 폴더 복사

    # cp -r コピーしたいフォルダの場所 ペースト先
    

    migration 파일 만들기

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

    DB에 반영

    rails db:migrate
    

    rooting 변경 내용


    app/confing/routes.rb
    # 追加
    resources :students
    root to: 'students#index'
    

    뷰 변경


    app/views/student.html.erb
    # 今回不要なExamResultNewのリンク削除
    # ログアウトリンクの作成
    <% @students.each do |student| %>
          <tr>
            <td><%= student.try(:name) %></td>
            <td><%= student.email %></td>
            <td><%= student.try(:gender) %></td>
            <td><%= student.try(:age) %></td>
            <td><%= student.try(:opinion) %></td>
            <td><%= link_to 'Show', student %></td>
            <td><%= link_to 'Edit', edit_student_path(student) %></td>
            <td><%= link_to 'Destroy', student, method: :delete, data: { confirm: 'Are you sure?' } %></td>
            <%= link_to 'Log Out', destroy_student_session_path, method: :delete %>
          </tr>
        <% end %>
    

    컨트롤러 변경


    app/controllers/student_controller.rb
    class StudentsController < ApplicationController
      before_action :authenticate_student!
    

    다음 페이지는 이전의 대학 데이터를 한데 조합한다

    좋은 웹페이지 즐겨찾기