FakeS3 和 Paperclip(在 Rails 上)在 URL 中仍然默认为 HTTPS

FakeS3 and Paperclip (on Rails) is still defaulting to HTTPS in URLs

我正在使用此页面中的配置:http://codesthq.com/blog/2015/gratuitious-development-with-aws-s3-and-paperclip.html

我可以将文件上传到本地 FakeS3 服务器,但是当我生成一个 URL 它 returns 一个 https:// link 而不是 https:// 并且我不能'找不到更改它的配置选项。我想既然上传工作正常,这更可能是回形针问题?

这是我的配置:

config/initializers/aws.rb:

AWS::Rails.load_yaml_config

config/initializers/paperclip.rb:

paperclip_defaults = Rails.application.config_for :paperclip
paperclip_defaults.symbolize_keys!

Paperclip::Attachment.default_options.merge! paperclip_defaults

config/aws.yml:

development: &development
  access_key_id:       "abc"
  secret_access_key:   "abc"
  s3_endpoint:         "localhost"
  s3_port:             10001
  s3_force_path_style: true
  use_ssl:             false

test: *development

production: &production
  access_key_id:     <%= ENV["AWS_ACCESS_KEY_ID"] %>
  secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %>

staging: *production

config/paperclip.yml:

development:
    storage:       :s3
    bucket:        "development"
    s3_host_name:  "localhost"
    url:           ":s3_alias_url"
    s3_host_alias: "localhost:10001/development"
    s3_protocol:   'http'

test:
    storage:       :s3
    bucket:        "test"
    s3_host_name:  "localhost"
    url:           ":s3_alias_url"
    s3_host_alias: "localhost:10001/test"
    s3_protocol:   'http'

production: &production
    storage: :s3
    bucket:  <%= ENV["S3_BUCKET_NAME"] %>
    url:     ":s3_domain_url"

staging: *production

安装的版本:

$ bundle list | grep paperclip
  * paperclip (4.3.6)

$ bundle list | grep aws
  * aws-sdk (2.3.7)
  * aws-sdk-core (2.3.7)
  * aws-sdk-resources (2.3.7)
  * aws-sdk-v1 (1.66.0)

哎呀,我在模型的附件配置中覆盖了 s3_protocol!