欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

assets静态资源管理

程序员文章站 2022-03-25 09:12:25
...
相关gem 
gem 'sass-rails', '~> 5.0'
gem "non-stupid-digest-assets"

执行命令:
RAILS_GROUPS=assets bundle exec rake assets:precompile

生产环境加载不到图片:
gem "non-stupid-digest-assets"   作用是同时把包一份没有压缩hash码的图片到public下的assets

或者可以在erb文件中用<%= image_tag%>来取图片


二:由于分布式部署3台主机需求,将assets文件上传到mongodb中gridfs管理。只需要部署一次静态文件。(文件存储mongodb的demo请看另一篇blog)
相关gem
gem 'asset_sync'

使用也很简单配置好mongondb参数文件asset_mongo.yml,把一下代码扔到initializers中就可以了。当执行 rake assets:precompile,文件会自动存到mongobd中,在nigin中配置一下文件映射地址。

mc = YAML.load_file(Rails.root.join('config', 'asset_mongo.yml'))[Rails.env]
DB_URL = "mongodb://#{mc['host']}/#{mc['database']}"

AssetSync.configure do |config|
  config.mongo = Mongo::Client.new(DB_URL)
end
相关标签: mongodb rails