在我的系统中,我使用paperclip gem供用户上传他们喜欢的图片作为个人资料照片。
在本地,用户可以在更改个人资料照片时保存新照片。当然,在遥控器中,他们可以(我不知道回形针系统如何保存这些文件。)。但是当我这样做的时候就会推送heroku master",heroku日志总会显示错误消息,如
"ActionController::RoutingError (No route matches [GET] "/system/members/avatars/000/000/002/thumb/%E5%86%99%E7%9C%9F_(17).JPG"):"
许多照片都消失了,虽然我之前可以看到这张照片" git push heroku master"。
我想这是因为回形针系统上传的图片可能不会被放入" app / assets / images" rails文件夹。你能告诉我如何解决这个问题吗?
☆_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
答案 0 :(得分:3)
Heroku不允许访问本地文件系统(Tempfiles除外)。你必须使用像S3这样的东西来存储你的图像。 Paperclip通过the S3 Storage module或the Fog storage module开箱即用。