Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 回形针未正确生成CNAME的url_Ruby On Rails_Ruby_Ruby On Rails 3_Paperclip - Fatal编程技术网

Ruby on rails 回形针未正确生成CNAME的url

Ruby on rails 回形针未正确生成CNAME的url,ruby-on-rails,ruby,ruby-on-rails-3,paperclip,Ruby On Rails,Ruby,Ruby On Rails 3,Paperclip,我打算让cloudfront发行版与一个定制域连接到曲别针,但它无法正确生成我的url。以下是我的配置: # initializers/paperclip_defaults.rb Paperclip::Attachment.default_options.merge!({ :storage => :s3, :s3_credentials => "#{Rails.root}/config/amazon_s3.yml", :bucket => "my-image-buc

我打算让cloudfront发行版与一个定制域连接到曲别针,但它无法正确生成我的url。以下是我的配置:

# initializers/paperclip_defaults.rb
Paperclip::Attachment.default_options.merge!({
  :storage => :s3,
  :s3_credentials => "#{Rails.root}/config/amazon_s3.yml",
  :bucket => "my-image-bucket",
  :path => "production/attachments/:attachment/:id/:style/:basename.:extension",
  :url => ":s3_host_alias",
  :s3_headers => {'Cache-Control' => 'max-age=2147483648'},
  :s3_protocol => :https,
  :s3_host_alias => "cdn.mydomain.com",
})
根据文档和我读过的每一篇博文,这应该是正确的。问题是它最终会生成以下内容:

https://s3.amazonaws.com/my-image-bucket/production/products/images/44/original/my-image.jpg

使用CNAME的唯一方法是指定
s3\u host\u name
,根据文档,该名称仅用于东京地区。这也会中断上传。你知道我做错了什么吗

我正在使用
回形针3.5.2

更新


我正在
attachment.rb#url
中调试,下面是我看到的<代码>回形针::附件。默认选项[:url]返回正确的
cdn.mydomain.com
。但是,
@options[:url]
正在返回
:s3\u路径\u url
,而不是
s3\u主机\u别名
。由于某些原因,默认选项未正确合并。然而,
s3\u host\u alias
选项是因为
@options[:s3\u host\u alias]
按预期返回
cdn.mydomain.com

因此,原来
:s3\u alias\u url
是用于url的正确标记,而不是
:s3\u host\u alias
。但不确定记录在哪里。必须查看
s3.rb
才能找到答案