0

これは以前に機能したか、そう信じています。

何らかの理由で、私の開発環境で、さらにはステージングでも、Paperclip は開発バケットではなく本番バケットを使用しています。

これは、それに関連するユーザーモデルの一部です

has_attached_file :avatar,
                    storage: :s3,
                    s3_credentials: "#{Rails.root}/config/s3.yml",
                    s3_permissions: :private,
                    path: "/:style/:id/:filename",
                    s3_protocol: "https",
                    styles: { medium: "300x300#", thumb: "100x100#", icon: "26x26#" },
                    default_url: ":style/ico_missing_user.png"

そして、ここに私のymlファイルがあります:

common: &common
  access_key_id: <%= ENV['S3_KEY'] %>
  secret_access_key: <%= ENV['S3_SECRET'] %>

development:
  <<: *common
  bucket: mydevbucket

staging:
  <<: *common
  bucket: mystagingbucket

production:
  <<: *common
  bucket: myprodbucket

私は何を間違っていますか?

4

1 に答える 1

0

「load_config.rb」ファイルを初期化ディレクトリに追加しました。

load_config.rb

S3_CONFIG = YAML.load_file("#{::Rails.root}/config/s3.yml")[Rails.env]

代わりにS3_CONFIGの使用を開始しました"#{Rails.root}/config/s3.yml"

has_attached_file :avatar,
                    storage: :s3,
                    s3_credentials: S3_CONFIG,
                    s3_permissions: :private,
                    path: "/:style/:id/:filename",
                    s3_protocol: "https",
                    styles: { medium: "300x300#", thumb: "100x100#", icon: "26x26#" },
                    default_url: ":style/ico_missing_user.png"

上記の解決策はバケットを設定するためにうまく機能しましたが、その後、ファイルをアップロードするときにペーパークリップに問題が発生し始め、ECONN:Aborted と表示されました。

以下は、私が動作することを理解したものです:

  has_attached_file :avatar,
                    storage: :s3,
                    :s3_credentials => "#{Rails.root}/config/s3.yml",
                    :bucket => ENV['S3_BUCKET'],
                    s3_permissions: :private,
                    path: "/:style/:id/:filename",
                    s3_protocol: "https",
                    styles: { medium: "300x300#", thumb: "100x100#", icon: "26x26#" },
                    default_url: ":style/ico_missing_user.png"

資格情報からバケットを分離したことに注意してください。これは、ペーパークリップのrdocsと次のサンプルに触発されて行いました

于 2013-06-20T16:11:30.137 に答える