私はCarrierwaveでS3のファイルにアクセスするのに苦労しています。S3上のCarrierwaveアップロードとアクセスファイル
私のアップローダファイルdoc_uploader.rbで、私は次の行を持ってアップロードされたファイルにアクセスするには
class Doc < ActiveRecord::Base
belongs_to :user
mount_uploader :doc, DocUploader
end
に従うように定義された「DOC」モデルをuplooadするために、次のコード
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
を持っていますコントローラ内のコード
@doc = current_user.docs.order("created_at").last #last file uploaded by user
io = open("#{Rails.root}/public" + @doc.doc.url)
すべてが完全にローカルで動作します。今、私は私が霧を使うアップローダーでS3に自分のファイルを移動し、私は私の設定ファイルcarrierwave.rbを調整し、アップロードが完全作品
storage :fog
によって
storage :file
を交換したいです。しかし、私は
@doc = current_user.docs.order("created_at").last
io = open("#{@doc.doc.url}")
を使用しようと、私は
No such file or directory @ rb_sysopen - /uploads/doc/doc/11/the_uploaded_file.pdf
次のエラーを取得するファイルにアクセスするには誰も私S3上のファイルへのアクセス権の構文をしてください与えてもらえますか?ありがとう。
私には1つの質問があります。ストレージを変更する前にドキュメントレコードが保存されていましたか?フォグ? – kurenn
はいドキュメントレコードが保存されました。 – Bastien