2011-09-08 2 views
1

레일스를 처음 접했고 valum의 ajax 업 로더와 paperclip을 결합하려면 아래 게시물을 참조하십시오. 업 로더는 이미지가 데이터베이스에 게시되고 클립이 생성하는 '시스템'디렉토리로 작동하는 것처럼 보입니다. 그러나 업 로더는 매번 "실패"메시지를 반환합니다. 오류는 fileuploader.js에서 생성되었지만 그 이유는 모르겠습니다. fileuploader.js를 제외하고, 저는 아래 블로그 게시물에서 복사 한이 코드를 사용하고 있습니다. 효과적인 답변을 받기 위해 더 많은 정보를 제공해야한다고 확신하므로 제공 할 수있는 정보를 알려주십시오. Rails, Paperclip, Valum의 Ajax 업 로더

)는 (

http://mooooooooooo.wordpress.com/2010/12/03/paperclip-valums%E2%80%99s-file-uploader-and-middleware-continued/

$(function() { 
    function createUploader(){ 
    var uploader = new qq.FileUploader({ 
     element: $('#file-uploader')[0], 
     action: '/photos', 
     multiple: false, 
     allowedExtensions: ['jpg', 'jpeg', 'png'] 
    }); 
    } 

createUploader 감사합니다; }});

나는 또한 방화 광을 사용하고 있으며 "get"및 "post"기능이 오류없이 올바르게 작동하는 것처럼 보임을 언급해야합니다. 여기

컨트롤러에서 코드입니다,하지만 난 메시지가 포함되어 있지 않기 때문에 오류 메시지가, 여기에서 오는 생각하지 않습니다 여기에
def create 
    @photo = Photo.new(params[:photo]) 
    if @photo.save 
    flash[:notice] = "Successfully created photo." 
    redirect_to photo_path(@photo) 
    else 
    flash[:error] = "Post Error" 
     redirect_to new_photo_path 
    end 
end 

뿐만 아니라보기 코드 "실패" : 나는 C 아니에요

def create 
@photo = Photo.new(params[:photo]) 
if @photo.save 
render :text => '{"success": true}', :content_type => "application/json" 

:

<%= content_for :head do %> 
<%= javascript_include_tag "fileuploader" %> 
<%= javascript_include_tag "picture_drag_drop" %> 
<%= stylesheet_link_tag "fileuploader" %> 
<% end %> 

<h1>Photos#new</h1> 
<p>Find me in app/views/photos/new.html.erb</p> 


<%= form_for @photo, :html =>{:multipart=>true} do |f| %> 
<%= f.label :title %> 
<%= f.file_field :title %> 
    </div> 
    <div class="actions"> 
    <%= f.submit "Submit" %> 
</div> 
<% end %> 

<div id="file-uploader"> 
    <p>Please enable JavaScript to use file uploader.</p> 
</div> 
+0

컨트롤러의 특정 코드를 제공 할 수 있습니다 (예상대로 동작 만들기). – Deradon

+0

귀찮게해서 죄송합니다. 알아 냈습니다. 난 그냥보기에서 오류 메시지를 변경하려면 : "렌더링 : 텍스트 => '{"성공 ": true}', : content_type =>"응용 프로그램/JSON " 하지만 난 모든 코드를 강제로 게시하는 것 같아요 조금 더 힘들어 보았을 수도 있습니다. 아무도이 책을 읽는 데 너무 많은 시간을 낭비하지 않았 으면 좋겠어요. 사과드립니다. – Mike

+1

당신은 답을 쓰고 받아 들일 수 있습니다. 비슷한 문제가 있거나 질문과 해결책이 다를 수도 있습니다. StackOverflow가 작동하는 방법입니다. 환영합니다! :-) – Arsen7

답변

0

내가 단지에 컨트롤러 코드를 변경했다처럼 보인다 왜 이것이 효과가 있었는지는 확실하지만, 페이지가 새로 고쳐지지 않고 '렌더링'텍스트가 fileuploader.js에서 '성공'메시지를 출력하기 때문에 원래의 "if"응답을 표시 할 수 없다고 가정합니다. 어느 쪽이든, 그것은 효과가있다!

+0

사진을이 방법으로 올바르게 저장 했습니까? 아니면 파일의 이름을 저장 했습니까? – RyanJM

0

ASP.NET 구현에서이 문제가 발생했습니다. 나는 그것이 예제 코드와 일치했다 몰랐다 때문에 내 스크립트가 "OK"출력 된

{success:true} 

파일을 수신하는 서버 측 스크립트 않는 "실패"사용자 (들)을 표시합니다 Valum의 파일 업 로더 출력 라이브러리와 함께 제공됩니다.