2012-05-03 17 views
7

ここに私の状況だった。毎回ヒロクにプッシュ、画像が表示されない、クリップ

私はクリップを使って画像をアップロードしていました。それはうまくいって、すべてが大丈夫だった。それから私はそれを英雄に押しました。 mommentのために、私はユーザーによってただアップロードされたすべての私のイメージを見ることができます。しかし、毎回新たなコミットをして再びヒロクにプッシュすると、私の以前のイメージはすべて消えてしまいました。それはもうファイルを持っていないようだ、それを読み込むことはできません。

だから私は考えました: 私はherokuサーバーにプッシュするたびに、ローカルにあるイメージファイルがherokuサーバーにアップロードされましたか?

私は自分の問題について研究しましたが、実際には彼らが実際に英雄について言ったことを理解していません。それは私と同じ問題です。

Herokuには読み取り専用のファイルシステムがあります。つまり、PaperclipはアップロードされたファイルをHerokuのどこにも保存できません。

Herokuでホストされているアプリケーションにファイルをアップロードしたい場合は、データベース内にバイナリBLOBとしてファイルを保存するか、別のサービスを使用してファイルを保存する必要があります。別のサービスをお探しの場合、PaperclipにはAmazon S3との統合サポートが組み込まれています。

私は、Amazon S3にはクレジットカードが必要ですが、クレジットカードがないと私はサービスを利用できないことが分かりましたか?

どれ詳細アドバイスや、について説明をアマゾンがフリーデバイスではありません

答えて

5

、あなたがそれを使用するためにあなたのクレジットカード番号を与える必要があります.Thanksあなたが認識されます。しかし、あなたはあなたが使用するものだけを支払うが、それは高価ではない。たとえば、自分のウェブサイトでは、先月、私は15Gbのストレージで2.46ドルを支払い、16Gbのデータ転送で1.90ドルを支払った。

は、クリップとS3を使用するには、あなたは、たとえば、 config/s3.ymlあなたの資産の資格情報を追加する必要があり、あなたの Gemfile

次へgem 'aws-s3'を追加する必要があります。そして、

production: 
    access_key_id: AAAAAAAAAAAAAAAAAA 
    secret_access_key: BBBBBBBBBBBBBBBBBBBBBBBBBBB 
    bucket: assets.my-bucket 

私は店のモデルを持っている私資産は、例えば:

class Asset 
    has_attached_file :asset, 
    :styles => { :thumb => "60x60#", :large => "700x330#"}, 
    :storage => :s3, 
    :s3_credentials => "#{Rails.root}/config/s3.yml", 
    :path => "/images/:id/:style.:extension" 
    validates_attachment_content_type :asset, :content_type => ['image/gif', 'image/jpeg', 'image/png', 'image/x-ms-bmp'] 
end 

私はそれが

を役に立てば幸い
+0

ええ、私はこのことについて知っていた、あなたは私が直面している私の問題についてより多くの問題を提供できますか? Amazon S3のような別のサービスを使用するには、解決する必要がありますか? –

+0

あなたはS3ではなくあなたが望むワイバーを使うことができますが、herokuにアセットをアップロードすることはできません。したがって、専用のサーバーまたは別のリモートストレージシステムを使用できますが、おそらくこれを支払う必要があります。 –

+0

oic ... herokuにプッシュするたびに、herokuサーバーにアップロードした画像が影響を受けるのですか? –

関連する問題