我正在开发一个Rails应用,我希望人们能够将他们的照片上传到Feed中。我试图将它与S3和回形针整合在一起。现在,每当有人上传照片时,它会显示一张损坏的图像,当我检查该元素时,我会得到一个missing.png。
当然,我去检查s3水桶,看看他们是否到了那里。存储桶是空的,但每次我尝试上传照片时,日志都有一个事件。
我一直在努力解决这一问题,所以你能给我的任何帮助都会非常有帮助。这是我到目前为止的实现:
_photo.html.erb中的:
<%= image_tag @feed_item.photo.url %>
用户/ show.html.erb中的
<%= form_for @feed_item, :html => { :multipart => true } do |form| %>
<%= form.label :photo %>
<%= form.file_field :photo %>
<%= form.submit "Submit" %>
<% end %>
config / s3.yml中的
access_key_id: 'some_key_id',
secret_access_key: 'some_access_key'
模型/ feed_item.rb中的
attr_accessible :data, :feed_item_points_count, :user_id, :photo
has_attached_file :photo
Gemfile中的
gem 'paperclip'
gem 'aws-sdk'
在迁移文件中
class AddPhotosToFeedItems < ActiveRecord::Migration
def self.up
add_attachment :feed_items, :photo
end
def self.down
remove_attachment :feed_items, :photo
end
end
谢谢!你能提供的任何帮助都很棒!
答案 0 :(得分:0)
您必须将存储选项传递为:s3
eg:
has_attached_file :photo
:storage => :s3,
:server => 'mystore.amazonaws.com',
:bucket => BUCKET_NAME,
:path => "photos/:id/:styles",
:s3_credentials => {:access_key_id => 'ABCDEFGHIJKLM',
:secret_access_key => 'ukyto8347trocq347to8764ro3'}