Ruby on rails Rails资产管道将目录展平
我一直在使用,将我们的静态资产移动到AmazonS3,我注意到当我预编译我的资产时(使用Ruby on rails Rails资产管道将目录展平,ruby-on-rails,ruby,ruby-on-rails-4,asset-sync,Ruby On Rails,Ruby,Ruby On Rails 4,Asset Sync,我一直在使用,将我们的静态资产移动到AmazonS3,我注意到当我预编译我的资产时(使用foreman run rake assets:precompile),基本目录会变平。它们来自: /app /assets/ /images image.png image2.png /subdir image3.png /javascripts script.js /stylesheets style.
foreman run rake assets:precompile
),基本目录会变平。它们来自:
/app
/assets/
/images
image.png
image2.png
/subdir
image3.png
/javascripts
script.js
/stylesheets
style.css
致:
它保留所有子目录,但由于某些原因,基本目录被删除
是否可以禁用此功能?我希望将我的S3资产组织到目录中。我可能可以通过添加额外的目录来解决这个问题,这样结构如下所示
/app
/assets/
/images
/images
image.png
image2.png
/subdir
image3.png
/javascripts
/javascripts
script.js
/stylesheets
/stylesheets
style.css
但这似乎是一个肮脏的解决方案
我正在配置我的资产,以便使用以下工具进行预编译:
Rails.application.config.assets.precompile = []
Rails.application.config.assets.precompile += ['application.js']
Rails.application.config.assets.precompile += Loader.js_files
Rails.application.config.assets.precompile += ['*.css', '*.png', '*.svg', '*.jpg']
“我的环境”具有以下变量:
您是否为正在创建的应用程序正确配置了资产同步
AssetSync.configure do |config|
config.fog_provider = 'AWS'
config.fog_directory = ENV['FOG_DIRECTORY']
config.aws_access_key_id = ENV['AWS_ACCESS_KEY_ID']
config.aws_secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
config.prefix = 'assets'
config.public_path = Pathname('./public')
end
根据应用程序的类型,您需要配置前缀和公共路径。有关更多信息,请查看Sinatra/Rack support部分。希望让您走上正确的道路
ASSET_SYNC_GZIP_COMPRESSION=true
ASSET_SYNC_MANIFEST=true
ASSET_SYNC_EXISTING_REMOTE_FILES=keep
AWS_ACCESS_KEY_ID=xxxxxxx
AWS_SECRET_ACCESS_KEY=xxxxxxx
FOG_DIRECTORY=aws-example
FOG_PREFIX=/assets/
FOG_PROVIDER=AWS
FOG_REGION=us-west-1
AssetSync.configure do |config|
config.fog_provider = 'AWS'
config.fog_directory = ENV['FOG_DIRECTORY']
config.aws_access_key_id = ENV['AWS_ACCESS_KEY_ID']
config.aws_secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
config.prefix = 'assets'
config.public_path = Pathname('./public')
end