2013-09-03 1 views
0

나는 Railscast tutorial for Carrierwave uploads을 따르고 있으며 동일한 파일을 설정했습니다. 콘솔을 통해 파일을 업로드해도 업로드가 올바르게 작동하지만 양식이 올바로 게시되지 않는 것 같습니다.반송파가 POST에 표시되지 않습니다.

<%= f.label :receipt %><br> 
<%= f.file_field :receipt %> 

레일 (4)이 자동으로 양식에 enctype="multipart/form-data" 태그를 포함 않습니다

나는 포함 내 기본적인 형태를 가지고있다.

양식을 제출하면 서버 로그를 살펴 봅니다. 업로드가 매개 변수에 표시 :

"receipt"=>#<ActionDispatch::Http::UploadedFile:0x007fcb25c624e0 @tempfile=#<Tempfile:/var/folders/ty/yks2xd9n76z9p49qzprvt1900000gn/T/RackMultipart20130903-53712-17zblz4>, 
@original_filename="Avatar.jpg", 
@content_type="image/jpeg", 
@headers="Content-Disposition: form-data; name=\"expense[receipt]\"; filename=\"Avatar.jpg\"\r\nContent-Type: image/jpeg\r\n">}, 

그러나, INSERT 문이 영수증 필드 또는 파일에 대한 언급이 포함되어 있지 않습니다. 오류가 없습니다. 이 파일은 Carrierwave에서 지정한 디렉토리에 업로드되지 않습니다.

여기에 무엇이 잘못 될지에 대한 아이디어가 있습니까? 이 내용은 this answer과 중복되지 않으며 jQuery Mobile의 문제입니다. 나는 무슨 일이 벌어지고 있는지 정말 잘 모르겠다.

편집 :뿐만 아니라 아마 포함해야 내 모델 :

class ReceiptUploader < CarrierWave::Uploader::Base 
    storage :file 

    def store_dir 
     "receipts" 
    end 
end 

편집 : 2 :

class Expense < ActiveRecord::Base 
    mount_uploader :receipt, ReceiptUploader 
end 

나는 Carrierwave에 의해 생성뿐만 아니라 주식 업 로더 클래스를 가지고을 여기에 비용을 창출하기위한 제 컨트롤러입니다 :

def new 
    @expense = Expense.new 
end 

def create 
    @expense = Expense.new(expense_params) 

    respond_to do |format| 
    if @expense.save 
     format.html { redirect_to @expense, notice: 'Expense was successfully created.' } 
     format.json { render action: 'show', status: :created, location: @expense } 
    else 
     format.html { render action: 'new' } 
     format.json { render json: @expense.errors, status: :unprocessable_entity } 
    end 
    end 
end 
+0

컨트롤러 방법은 어떻게 생겼습니까? 비용을 지불하기 전에 매개 변수가 걸러 지는지 확인하기 위해 [pry] (https://github.com/rweng/pry-rails)를 사용해 보았습니까? – Taavo

+0

new와 create에 대한 원래 컨트롤러를 내 컨트롤러 메소드로 업데이트했습니다. 주식 발판 생성 코드입니다. 다른 한편으로는, 나는 설치하려고 노력하지만 나는 그것을 가지고 무엇을 찾고 있어야하는지 확신하지 못한다. –

+0

기본적으로 expense_params [: receipt]에 예상 값이 있는지 알고 싶습니다. 그것을 허용해야 할 수도 있습니다. – Taavo

답변

0

params가 업로드가 허용되지 않는 것처럼 보입니다. 신기한 실수.

관련 문제