Udemy의 코스 「【만들면서 기억한다!】 Ruby on Rails를 이용한 웹 개발(Airbnb를 만들자!)」를 배운다. part 3-6,7
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
자기 과제
rails g migration AddExtraFieldsToUser phone_number:string description:string
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
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의 코드가 잘못되어도 에러는 나오지 않기 때문에 주의입니다.
자기 과제
<script type="text/javascript">
$(function(){
<% if !(@user.email.blank?) %>
$("#ver-email").attr("class","verification-checked");
<% end %>
});
</script>
Reference
이 문제에 관하여(Udemy의 코스 「【만들면서 기억한다!】 Ruby on Rails를 이용한 웹 개발(Airbnb를 만들자!)」를 배운다. part 3-6,7), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shiro-kuro/items/acc8df7302185da42631텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)