[Rails] 간단한 소개 기능 설치 방법

5036 단어 DockerRubyRails

프로필에서 자기 소개 기능 실현


제품 조합이 완료되면 추가 구현되기 때문에 순서를 메모로 남깁니다.
기존 열 (예를 들어 사용자 이름 이메일 비밀번호) 에 새 introduction 열을 추가합니다.
최대한 간단하게 쓰세요!

어떻게 해요?


순서는 다음과 같습니다.
  • git checkout-b introduction(지분 절단)
  • users표에 introduction열 추가
  • 데이터베이스에 반영
  • users 컨트롤러에 필요한 코드의 보충
  • user모델에 필요한 코드 추적
  • 사용자 세부 정보 페이지(MYPAGE)에 표시
  • 사용자 편집 페이지(EDIT)에 표시
  • 완성!
  • 다음 순서대로 쓰세요!

    1.git checkout-b introduction(지분 절단)


    브랜치를 분리하여 새로운 기능을 구현합니다.

    2. 사용자 테이블에 소개 열 추가


    단말
    $ rails generate migration AddIntroductionToUsers introduction:text
          invoke  active_record
          create    db/migrate/20200712005652_add_introduction_to_users.rb
    
    상기 rails g 명령을 사용하여 introduction 열을 추가합니다.

    3. 데이터베이스에 반영


    단말
    $ docker-compose run  web rails db:migrate
    == 2020~~~~ AddIntroductionToUsers: migrating ===========================
    -- add_column(:users, :introduction, :text)
       -> 0.0518s
    == 2020~~~~ AddIntroductionToUsers: migrated (0.0519s) ==================
    

    4.users 컨트롤러에 필요한 코드 추적


    전용 메서드에 추가
    내부 속성 부여
    users_controller.rb
       def user_params_update
          params.require(:user).permit(:name, :email, :image, :introduction) # introdution追加
       end
    
    이제 introduction을 업데이트할 수 있습니다.

    5.user 모델에 필요한 코드 추적


    인증을 추가합니다.자기소개는 50자 이내로 입력하세요.
    글자 수를 자유롭게 설정하십시오.
    ※ presense이지만 false로 설정하지 않으면 새로 등록할 때 작용합니다. introduction은nil로 바뀌어 새로 등록할 수 없습니다. 주의하십시오.새로 등록할 때도 자기소개를 입력해야 한다면true를 입력하면 된다.
    user.rb
    validates :introduction, presence: false, length: { maximum: 50 } # 自己紹介の最高文字数は50文字
    

    6. 사용자 세부 정보 페이지(MYPAGE)에 표시


    show.html.slim
     = @user.introduction
    
    SCSS 에서 적절히 수정하십시오.

    7. 사용자 편집 페이지(EDIT)에 표시


    사용자 편집은 사용자 이름 이메일만 사용하지만 introduction을 추가합니다.
    edit.html.slim
    .form-group
      = f.label :introduction
      = f.text_area :introduction, class: 'form-control', id: 'user_introduction'
    

    완성


    이로써 우리는users표에 자기소개를 추가하고introduction 속성을 추가했습니다.
    도중에 introduction에 introduce라고 쓰여 있으니까 여러분도 주의하세요!

    좋은 웹페이지 즐겨찾기