ActiveStorage에 여러 Record 포함type(EOTD No.13)

저는 아메타!13번째 EOTD다.
이번에는 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)


    오늘 안에 해결하지도 못하고
    오늘 이맘때 하루가 마침내 끝났다고 생각하고 자주 실수를 한다.
    실수는 부주의다.오늘의 공부.

    좋은 웹페이지 즐겨찾기