2013-12-09 3 views
1

내 시스템에서는 필자가 선호하는 사진을 프로필 사진으로 업로드 할 수 있도록 클립 클립 보석을 사용하고 있습니다.heroku의 보석 클립 '

로컬에서는 사용자가 프로필 사진을 변경할 때 새로운 그림을 저장할 수 있습니다. 원격지에서는 물론 (필자는 클립 시스템이이 파일들을 저장하는 방법을 모른다.) 하지만 "자식 푸시 Heroku가 마스터"를 수행 할 때, Heroku가 항상

"ActionController::RoutingError (No route matches [GET] "/system/members/avatars/000/000/002/thumb/%E5%86%99%E7%9C%9F_(17).JPG"):" 

처럼 나에게 오류 메시지를 표시 기록하고 내가 "자식 푸시 Heroku가 마스터"전에 그림을 볼 수 있지만 많은 사진이 사라졌다.

클립 클립 시스템으로 업로드 한 이미지가 레일 폴더의 "app/assets/images"에 들어갈 수 없기 때문입니다. 이 문제를 해결하는 방법을 알려주시겠습니까? _form.html.erb ☆

(회원)

<div class="field"> 
    <%= f.label :'picture' %> 
    <%= f.file_field :avatar %> 
    </div> 
    <div class="field"> 
    <%= f.label :Email %> 
    <%= f.email_field :mail %> 
    </div> 

    <div class="actions"> 
    <%= f.submit %> 
    </div> 

☆ schema.rb

create_table "members", :force => true do |t| 
    t.string "user" 
    t.string "pass" 
    t.string "name" 
    t.string "mail" 
    t.text  "memo" 
    t.boolean "admin" 
    t.datetime "created_at",   :null => false 
    t.datetime "updated_at",   :null => false 
    t.string "field" 
    t.string "place" 
    t.string "experience" 
    t.string "url" 
    t.string "provider" 
    t.string "uid" 
    t.string "image" 
    t.string "avatar_file_name" 
    t.string "avatar_content_type" 
    t.integer "avatar_file_size" 
    t.datetime "avatar_updated_at" 
    end 

답변

3

에게 Heroku는 (TEMPFILES 제외) 로컬 파일 시스템에 대한 액세스를 허용하지 않습니다. 이미지를 저장하려면 S3와 같은 것을 사용해야합니다. 클립은 the S3 Storage module 또는 the Fog storage module을 통해이 작업을 수행합니다.

+0

다음은 S3 통합을위한 좋은 자습서입니다. 꽤 간단합니다. https://devcenter.heroku.com/articles/paperclip-s3 –

+0

Mr.jyurek와 Yosep Kim, 대단히 감사합니다 !! 나는 노력할 것이다. –