assets静态资源管理

相关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

猜你喜欢

转载自schooltop.iteye.com/blog/2325704