1

사용자가 이력서를 업로드 할 수 있도록 클립 클립 젬을 사용하고 있습니다. 문제는 사용자가 업로드를 클릭하면 문제가됩니다. 일부 자습서에서 언급했듯이, 나는 그것이 개발 과정에서 경로를 얻도록 paperclip env를 설정했지만 아직 업로드되지는 않습니다.클립 클립을 사용하여 이력서 업로드하기

#Error that gets showed on browser 
RuntimeError in ProfilesController#update_resume 

#profilescontroller#update_resume 
def update_resume 
    update! :notice => "Resume successfully updated!" do |success, failure| 
     success.html { 
      if [email protected]_layout.nil? 
      ResumeSection.delete_all "user_id = #{@user.id}" 
      @user.section_layout.each {|key,value| 
       rs = ResumeSection.new(:section_name => key.encode("UTF-8"), :html => value.encode("UTF-8"), :user => @user) 
       rs.save 
      } 
      redirect_to profile_path 
      end 
     } 
     failure.html { render :template => "/profiles/edit/resume" } 
    end 
    end 


#These are the logs after 
Started POST "/profile/update_resume" for 127.0.0.1 at 2014-02-22 17:36:18 +0530 
    Processing by ProfilesController#update_resume as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"zRlPQPI88Eqgko5UUdR2YUvmMHsjSDKS0sqOOj2kTu0=", "user"=>{"rb_resume"=>#<ActionDispatch::Http::UploadedFile:0xaef29b4 @original_filename="resume .odt", @content_type="application/vnd.oasis.opendocument.text", @headers="Content-Disposition: form-data; name=\"user[rb_resume]\"; filename=\"resume .odt\"\r\nContent-Type: application/vnd.oasis.opendocument.text\r\n", @tempfile=#<File:/tmp/RackMultipart20140222-16462-1mvioqy>>}, "commit"=>"Update Resume"} 
    User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 11 LIMIT 1 
    SQL (0.2ms) BEGIN 
Command :: file -b --mime-type '/tmp/a495763e62ffd9dac862588d08a1ed5420140222-16462-6djcd4' 
    SQL (0.1ms) ROLLBACK 
Completed in 69ms 

RuntimeError (Input file needs to be pdf or word format): 
    lib/resume/resume_builder.rb:81:in `convert_to_html' 
    lib/resume/resume_builder.rb:17:in `initialize' 
    lib/paperclip/resume_builder.rb:10:in `new' 
    lib/paperclip/resume_builder.rb:10:in `make' 
    app/controllers/profiles_controller.rb:51:in `update_resume' 

Rendered /usr/local/rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.0.6/lib/action_dispatch/middleware/templates/rescues/_trace.erb (0.9ms) 
Rendered /usr/local/rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.0.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (257.7ms) 
Rendered /usr/local/rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.0.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (264.2ms) 

업데이트 - 응용 프로그램 추적

lib/resume/resume_builder.rb:81:in `convert_to_html' 
lib/resume/resume_builder.rb:17:in `initialize' 
lib/paperclip/resume_builder.rb:10:in `new' 
lib/paperclip/resume_builder.rb:10:in `make' 
app/controllers/profiles_controller.rb:51:in `update_resume' 

모든 제안에 대해 그 일을 제대로 대부분

을 :) 환영
+0

'convert_to_html'은 (는) 클립과 관련이 있습니까? 다른 문제처럼 보입니다. * NM - 일부 이력서 보석을 사용하고 있습니다. – steakchaser

+0

아니, 이력서라는 보석을 사용하고 있지 않습니다. 그것은 내가 개발중인 모듈이므로 이력서로 이름지었습니다. –

답변

1

오류

여기에 귀하의 문제입니다 -

RuntimeError (Input file needs to be pdf or word format) 
,536가

내가이 줄 문제라고 생각 :

ResumeSection.new(:section_name => key.encode("UTF-8"), :html => value.encode("UTF-8"), :user => @user) 

검증

나는 종이 클립을 확보 것에만 허용 typevalidation of Word or PDF :

validates_attachment_content_type :resume, :content_type => ["application/pdf","application/vnd.ms-excel",  
     "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
     "application/msword", 
     "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 
     "text/plain"] 

이렇게 할 경우, 무슨 일이 일어 났는지 알려줄 수 있니?

+0

나는 업로드 된 파일을 html로 변환하는 줄을 생각하고 있었고 사용자가 편집을 원한다면 직접 HTML 부분을 편집 할 수 있습니다. –

+0

같은 오류가 다시 나타납니다. 내가 제안한대로 내용 유형을 변경하고 Resumesection을 주석 처리했습니다. 새로운 부분 –

+0

도움이 될 경우 응용 프로그램 추적을 붙여 넣습니다. –