0
有没有人有任何在Sinatra应用程序中向AWS S3提供资产的经验。我已经安装了宝石向Sinatra的AWS s3提供静态资产
asset_sync
按照这些指令https://github.com/ejholmes/asset-sync-sinatra
当我运行
rake assets:precompile
我在控制台
cannot load such file -- asset_sync
收到此错误信息这是我的设置
的Gemfile
source :rubygems
gem 'sinatra'
gem 'pony'
gem 'sinatra-flash'
gem 'heroku'
gem 'activesupport', require: 'active_support'
gem 'asset_sync', git: 'git://github.com/ejholmes/asset_sync.git', branch: 'sinatra'
config.rb
module MyConfig
def config
environment = ENV["RACK_ENV"] || "development"
YAML.load_file("./config/config.yml")[environment]
end
end
config.yml
development:
aws_access_key: = 'myaccesskey'
aws_secret_key: = 'mysecretkey'
fog_directory: = 'applecatering'
Rake文件
require 'active_support/core_ext'
require 'asset_sync'
require './config/config.rb'
include MyConfig
AssetSync.configure do |con|
con.fog_provider = 'AWS'
con.fog_region = 'eu-west-1'
con.fog_directory = config['fog_directory']
con.aws_access_key_id = config['aws_access_key']
con.aws_secret_access_key = config['aws_secret_key']
con.prefix = "assets"
con.public_path = Pathname("./public")
end
namespace :assets do
desc "Precompile assets"
task :precompile do
AssetSync.sync
end
end
第一次尝试这样,任何人都可以看到我在做什么错了,我即时发布或不理解这个?
内容啊谢谢你,现在看来,我有一个问题,我的桶的名字,但我认为这与他们的规则 – Richlewis 2013-03-17 20:32:45
实际错误消息雾遵守:指定的S3存储名称(=“applecatering ')不是有效的DNS名称,这会对性能产生负面影响。 – Richlewis 2013-03-17 20:33:32
您的存储桶名称似乎设置为'='applecatering''。尝试在定义桶ENV设置的位置摆脱'app'catering'周围的'='和引号。 – Sam 2013-03-17 20:38:12