CarrierWave를 통해 이미지를 업로드 할 때 처음 시도 할 때마다 머리를 감싸려고합니다. 데이터가 전송되는 것을 볼 수 있지만 콘솔에서 BEGIN과 ROLLBACK을 볼 수 있습니다. 그래서, 여기에 지금까지레일 Carrierwave "action"=> "create"} 허용됨 : false>
컨트롤러
class PhotosController < ApplicationController
before_action :set_photo, only: [:show, :edit, :update]
def index
@photos = Photo.all
end
def new
@photos = Photo.new
end
def create
@photo = Photo.new(photo_params)
if @photo.save
redirect_to photos_path, notice: "The photo #{@photo.name} has been uploaded."
else
render "new"
end
end
private
def photo_params
params.require(:photo).permit(:name, :image, :id)
end
def set_photo
@photo = Photo.find(params[:id])
end
end
FORM
<div class="well">
<%= form_for Photo.new, html: { multipart: true } do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :image %>
<%= f.file_field :image %>
<%= f.submit "Save", class: "btn btn-primary" %>
<% end %>
</div>
모델
class Photo < ApplicationRecord
mount_uploader :image, ImageUploader
end
업 로더가 생성 된 꽤 많이, 저장 파일이고 그것을 사용하는 내가 가진 무엇 MiniMagick 및 엄지 손가락 버전 활성화
내가 제출 버튼을 클릭하면지금, 내가 콘솔에서 볼 :
Started POST "/photos" for 127.0.0.1 at 2017-09-14 22:11:25 +0200
Processing by PhotosController#create as HTML
Parameters: {"utf8"=>"V", "authenticity_token"=>"Aj4CyJLaxh439igdVYJ60Pz9TqLzuvPVfkh903YAcaVuIqU8bKmX0zrgbL/GvnabcQ7i/hsqWxwvG1NRQO16JA==", "photo
"=>{"name"=>"fdsfds", "image"=>#<ActionDispatch::Http::UploadedFile:0xa96f1d0 @tempfile=#<Tempfile:C:/Users/Andrea/AppData/Local/Temp/RackMultipart2
0170914-4696-1pwrynm.jpg>, @original_filename="Clipboard02.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"photo[
image]\"; filename=\"Clipboard02.jpg\"\r\nContent-Type: image/jpeg\r\n">},
"commit"=>"Save"}
(1.0ms) BEGIN
(0.0ms) ROLLBACK
그리고 페이지
내가 업로드를 실행하고 어디에, 그것은 새로운 형태로 복귀 생 텍스트는 하단에 표시<ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"....(manuallyremoved)==", "photo"=><ActionController::Parameters {"name"=>"fdsfds", "image"=>#<ActionDispatch::Http::UploadedFile:0xa96f1d0 @tempfile=#<Tempfile:C:/Users/Andrea/AppData/Local/Temp/RackMultipart20170914-4696-1pwrynm.jpg>, @original_filename="Clipboard02.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"photo[image]\"; filename=\"Clipboard02.jpg\"\r\nContent-Type: image/jpeg\r\n">} permitted: false>, "commit"=>"Save", "controller"=>"photos", "action"=>"create"} permitted: false>
실제로 허용되는 원인은 무엇입니까?이 경우 false입니까? 나는 우리가 다음 오류를 확인 @photo.valid?
할 필요가 @photo.save
을하기 전에 어떤 제안
흥미 롭습니다. 나는 다른 사이트에서 발견 된 디버거 라인 중 하나를 추가하려고 시도했지만 잘못하고 있다고 생각한다. 이제 문제는 제가 업 로더에서 미리보기 이미지를 사용하도록 설정했기 때문에 문제가 발생하는 이유를 파악해야합니다. 한 발 앞서. 좋은 팁 Fabrizio에 감사드립니다! – Andrea
@ 안드레아 만약 당신이 더 많은 도움을 필요로한다면, 문제의 세부 사항을 가진 새로운 질문을하고 나에게 그것을 읽을 수 있도록 링크를 보내라. 감사합니다 –
고마워요 @ Fabrizio 실제로 방금 다른 질문을 게시했습니다 https://stackoverflow.com/questions/46268538/rails-couldnt-find-nested-resource-with-id – Andrea