Wizard 형식(EOTD No.10)
기념할 만한 열 번째 실수는 여기다!
오늘의 잘못
장면
처음 보는 실수야.
Could not find devise mapping for path "/profiles".
말 그대로 젬의 "Devise"와 관련된 오류인 것 같습니다.
이번에는 Devise를 사용하여 사용자의 새 로그인을 마법사로 설정합니다.
새 로그인 페이지의 정보를 저장하는 Chefs 테이블과 소개 테이블입니다.
이 두 모델은 다음과 같은 연관성을 설명합니다.
#models/profile.rb
belongs_to :chef, optional: true
#models/chef.rb
has_one :profile
chef의 시야 파일에서 프로필의 시야 파일로 잘 옮겨졌지만 등록 완료 버튼을 누르는 순간 오류가 발생했습니다.고찰하다.
잘못된 문장을 재확인하다.
그래서 잘못된 원인으로 여겨지는 두 가지 이유는 루팅에 대한 설명이 있다.
속공, 루팅 파일 검사.
#routes.rb
devise_for :users, controllers: {
sessions: 'users/sessions',
passwords: 'users/passwords',
registrations: 'users/registrations'
}
devise_for :chefs, controllers: {
sessions: 'chefs/sessions',
passwords: 'chefs/passwords',
registrations: 'chefs/registrations'
}
devise_scope :chefs do
get 'profiles', to: 'chefs/registrations#new_profile'
post 'profiles', to: 'chefs/registrations#create_profile'
end
소개 경로에 대한 설명은 마지막 세 줄입니다.나는 이곳에 관한 정보를 찾았다.해결하다
수정된 서류는 여기 있습니다.
routes.rb
devise_scope :chef do
get 'profiles', to: 'chefs/registrations#new_profile'
post 'profiles', to: 'chefs/registrations#create_profile'
end
동작을 다시 확인한 후 사용자가 새 로그인에 성공했습니다!오류 원인
위의 페이지에 따라routes의 동작이 사용자 정의되었을 때 이
devise_scope
를 호출해야 합니다.그 다음에 중요한 문구가 있다.Be aware of that 'devise_scope' and 'as' use the singular form of the noun where other devise route commands expect the plural form.
다른 devise 관련 루트에 여러 가지 형식을 지정했습니다.
devise_scope
다음은 단수 형식!!대단히 감사합니다.
SOTD(Summary Of The Day)
마침내 명확한 참고를 찾았으니 나는 안심이 된다.
이번에는 실제 맞춤형 devise를 사용해 defalut의 기능이 얼마나 간결하고 좋은지 다시 한 번 실감했습니다.
프로그램 라이브러리를 유연하게 활용하려면 그 프로그램 라이브러리에 대한 이해를 더욱 깊이 있게 할 필요가 있다.오늘의 공부.
Reference
이 문제에 관하여(Wizard 형식(EOTD No.10)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/swata_dev/articles/6ffb694cc1d8b7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)