gpt4 book ai didi

ruby-on-rails - 带 asset_sync 的 Rails 4

转载 作者:数据小太阳 更新时间:2023-10-29 08:47:50 24 4
gpt4 key购买 nike

有没有人得到 asset_sync gem 来与 Rails 4 一起工作?我从来没有遇到过 Rails 3 的问题,但是我不能再将我的 Assets 预编译到我的 S3 存储桶中,所发生的是一切都被编译到我的公用文件夹中。

任何人都可以提供有关资源的建议,以查看或总结 Rails 3 和 4 之间可能导致失败的主要区别。使用的一些配置示例会对那些已经使用它的人有所帮助。我不知道如何开始调试这个

感谢任何建议和帮助

谢谢

编辑

当前配置

asset_sync.rb # 在 Initializer 中

if defined?(AssetSync)
AssetSync.configure do |config|
config.fog_provider = ENV['FOG_PROVIDER']
config.aws_access_key_id = ENV['AWS_ACCESS_KEY_ID']
config.aws_secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
config.fog_directory = ENV['FOG_DIRECTORY']
config.fog_region = ENV['FOG_REGION']
config.existing_remote_files = "delete"
config.gzip_compression = true
config.manifest = true
config.custom_headers = { '.*' => { cache_control: 'max-age=315576000', expires: 1.year.from_now.httpdate } }
end
end

生产.rb

YmcaView::Application.configure do

config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = true
config.assets.js_compressor = :uglifier
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'
config.log_level = :info
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
end

运行 rake assets 时的输出:precompile RAILS_ENV=production

 I, [2014-03-04T13:04:41.176230 #6085]  INFO -- : Writing /home/richardlewis/Rails/ymca_view/public/assets/760x380_10-477c3cdc939905d6b32f9997e7f93072.jpg
I, [2014-03-04T13:04:41.177963 #6085] INFO -- : Writing /home/richardlewis/Rails/ymca_view/public/assets/aboutus-d9ad504fcd86071255015d24780caef8.jpg
I, [2014-03-04T13:04:45.018794 #6085] INFO -- : Writing /home/richardlewis/Rails/ymca_view/public/assets/application-90d317f561a8b0e84124ce7bb872f867.js
I, [2014-03-04T13:04:46.666640 #6085] INFO -- : Writing /home/richardlewis/Rails/ymca_view/public/assets/application-b422f803b56ae2f5c56a648891ec553e.css
[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.

最佳答案

是的,我们已经在 Rails 4 中运行了

你需要这样做:

#GemFile (might need aws_sdk gem too)
gem "asset_sync", "~> 1.0.0"

#config/environments/production.rb
config.action_controller.asset_host = "//#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"

$-> rake assets:precompile RAILS_ENV=production

我们使用 Figaro在本地存储 ENV 变量,这是我们得到的:

#config/application.yml
FOG_DIRECTORY: "***BUCKET_NAME****"
FOG_PROVIDER: "AWS"
FOG_REGION: "eu-west-1"
ASSET_SYNC_GZIP_COMPRESSION: "true"
ASSET_SYNC_MANIFEST: "true"
ASSET_SYNC_EXISTING_REMOTE_FILES: "delete"

关于ruby-on-rails - 带 asset_sync 的 Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22170098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com