ActiveStorage에 여러 Record 포함type(EOTD No.13)
이번에는 ActiveStorage를 사용한 이미지 관리에 관한 내용입니다.
오늘의 잘못
장면
이번 오류는wizard 형식으로chef표와 관련된 서류철
image
을 호출할 때 발생했습니다.데이터베이스를 확인한 후 프로필과 관련된 이미지 파일이 없습니다.
왜 이렇게 됐을까.며칠 전에 설치된wizard 형식의 컨트롤러와 보기 파일을 다시 확인했습니다.
고찰하다.
ActiveRecord에 저장할 수 있는 추가 Record디스하고 뭐가 다른지 비교해 봤어요.
#Profileのコントローラー
def profile_params
params.require(:profile).permit(:image, :about, :business_hour_begin, :business_hour_end, :status_id, :gender_id, :age_id, :genre_id)
end
#Dishのコントローラー
def dish_params
params.require(:dish).permit(:image, :name, :about, :genre_id, :ready_id, :price).merge(chef_id: current_chef.id)
end
둘 다permit 방법으로 지정되었다.다만 dish는 요리사가 만든 것이기 때문에 요리사의 id를 합쳐야 합니다.
#Profileのモデル
belongs_to :chef, optional: true
has_one_attached :image
#Dishのモデル
belongs_to :chef
has_one_attached :image
의 유일한 차이점은 옵션:진짜를 포함하는지 여부다.프로파일은 세션에서 이전 페이지에서 입력한 셰프의 정보를 보존하기 때문에 optional을 설정하여 발리일을 무효화시켰다.
SOTD(Summary Of The Day)
오늘 안에 해결하지도 못하고
오늘 이맘때 하루가 마침내 끝났다고 생각하고 자주 실수를 한다.
실수는 부주의다.오늘의 공부.
Reference
이 문제에 관하여(ActiveStorage에 여러 Record 포함type(EOTD No.13)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/swata_dev/articles/6056c79be33287텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)