0

ActiveAdmin에 CarrierWave gem을 레일에 설치하려고하는데 설치가 쉬운 것처럼 보였습니다. 그러나 테스트 이미지를 /public/uploads 디렉토리에 업로드하려고 시도하면 이미지가 저장되지 않습니다. 더 짜증나는 것은 아무 예외도 제기되지 않는다는 사실입니다. 따라서 문제를 찾기 위해 어디를 봐야할지 모르겠습니다. 게시물을 만들고, 이미지를 검색하고, 이미지를 선택하고, 저장하기 위해 게시물을 제출할 수는 있지만 아래 그림과 같이 ActiveAdmin의 표시 페이지에 여전히 IMAGE: EMPTY으로 끝납니다. 이미지에서 나는 이미지가 포함 된 lorem ipsum 게시물을 작성하고 저장했습니다.CarrierWave 보석이 업로드되지 않으므로 제기 된 예외가없는 이유는 무엇입니까?

업 로더를 실제로 업로드하는 방법은 무엇입니까?


루비 1.9.3p547 (2014년 5월 14일 수요일 수정 45,962) x86_64에-darwin10.8.0]

레일 4.1.6


이있다 ActiveAdmin 내의 단일 게시 개체에 대한 표시 페이지

Image not uploading


이 질문

full page

같은 형태로 형식의 전체 페이지의 스크린 샷이지만, 확대. 분명히, 나는을 업로드하려고되지 않았습니다 이 스크린 샷의 이미지. 몇 후 /app/uploaders/image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base 

    storage :file 

    def store_dir 
     "public/uploads" 
    end 

end 

/app/models/post.rb

class Post < ActiveRecord::Base 

    belongs_to :category 

    scope :rails, -> { where(category_id: 1) } 

    extend FriendlyId 
    friendly_id :title, use: [:slugged, :finders] 

    mount_uploader :image, ImageUploader 

end 
+0

여기에 여러 가지 문제가있을 수 있습니다. 레일즈 버전부터 시작하여 기록을 만드는 데 사용되는 양식을 보겠습니다. – Richlewis

+0

좋아요, @Richlewis, 질문을 업데이트했습니다. 도움을 청해 주셔서 감사합니다. 나는이 조각을 알아낼 때까지 완전히 좌초되었다. – elersong

답변

0

zoomed in on form


검색 시간이 길어지면 다른 질문에서 대답의 영감을 얻었습니다. here을 찾을 수 있습니다.

내가 결과를 얻지 못하는 이유는 응용 프로그램이 파일에 :image을 허용하지 않았기 때문입니다. 이제는 오류가 발생하지 않았거나 콘솔에 기록 된 행이 왜 있는지 알 수 없지만 다음과 같이 업로드 매개 변수를 허용하는 것만 큼 간단합니다.

permit_params :title, :slug, :blurb, :content, :category_id, :image 

이 질문을 게시했을 때 나는 그 마지막에 :image을 추가하지 않았기 때문에 내 응용 프로그램은 파일 시스템 내에서 나머지 게시물을 저장하는 대신 해당 매개 변수를 그냥 버리고있었습니다.

+1

그게 내 다음 요점이 될거야,하지만 잘 알아 냈어. 콘솔을보고 레코드를 제출하면 모든 매개 변수가 게시되고, 허용되지 않은 매개 변수가 표시됩니다. "unpermitted params", 또는 적어도 그런 식으로, 그래서 당신이보기에 어떤 오류도 보지 않더라도 콘솔은 당신의 친구입니다, 오, puts도 매우 유용합니다. 더 나은 – Richlewis

+0

오, 당신이 허용하고자하는 다음 일은 _destroy이므로 이미지를 삭제할 수 있습니다 – Richlewis

+0

어떻게 허용합니까? 단순히'_destroy'를'permit_params'의리스트에 추가하면됩니다. – elersong

관련 문제