Udemy의 코스 「【만들면서 기억한다!】 Ruby on Rails를 이용한 웹 개발(Airbnb를 만들자!)」를 배운다. part 3-6,7

2711 단어 udemyRails
Udemy의 여기 코스

part3-6 프로필 내용을 편집하는 페이지 만들기



user/edit로 날아가면 이런 화면이 된다.

현재의 패스워드를 넣지 않으면 변경할 수 없는 사양이므로, 이것은 귀찮은 것으로 변경한다.

"devise edit without password"로 구그 해 본다.

여기에 따라 한다.

편집을 복사하고 모델을 추가.



이쪽의 기사를 알기 쉽다.
rails g migration AddExtraFieldsToUser phone_number:string description:string

그러면 User 데이터베이스에 새로운 열을 추가할 수 있다.

입력해도 저장되지 않을 때.



스트롱 파라미터라는 것을 사용한다. 이것은 간단하게 말하면 DB에 값을 넣어 부정을 방지하는 것.

여기 에는 스트롱 파라미터의 devise 도입 방법이 있다.
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
  end
end

위의 코드는 샘플. 이번에는 이렇게 바꾼다.
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:account_update, keys: [:name,:email,:phone_number,:description])
  end
end

자기 과제


  • 위의 작업
  • 프로필 편집 페이지를 navbar에 추가.

  • part3-7 다시 프로필 페이지 편집



    등록된 정보를 체크합니다.



    이 코드를 show.html.erb 위에 씁니다.
    <script type="text/javascript">
      $(function(){
        <% if !(@user.email.blank?) %>
          $("#ver-email").attr("class","verification-checked");
        <% end %>
      });
    </script>
    

    이것은 email에 값이 있으면 verification-checked라는 클래스를 추가한다는 것.

    javascript의 코드가 잘못되어도 에러는 나오지 않기 때문에 주의입니다.

    자기 과제


  • 정보가 등록되어 있으면 체크 마크가 들어가도록 한다.
  • 좋은 웹페이지 즐겨찾기