gpt4 book ai didi

ruby-on-rails - Rails + Heroku + Jammit

转载 作者:行者123 更新时间:2023-12-04 03:40:56 25 4
gpt4 key购买 nike

我正在努力在我的Rails 3应用程序上安装Jammit,然后再部署到Heroku。

我安装了Jammit Gem,并配置好assets.yml,它可以在dev上运行。但是,当我推送到heroku时,文件正在404处理。

Jammit的用法说明说:“您可以在Rakefile和其他脚本中轻松使用Jammit:

require 'jammit'
Jammit.package!

我没有关注这在哪里/如何工作。像在Mac上一样,在我的站点命令中运行Jammit会产生未找到的命令。

有Jammit用户能够帮助我了解如何使用Jammit投入生产吗?

谢谢

最佳答案

我在Heroku的Rails 3.0.7应用程序上使用jammit

gem "jammit", :git => "git://github.com/documentcloud/jammit.git"

我在rake文件中有此文件,以便在我提交/部署之前打包 Assets
desc 'jammit'
task :jam => :environment do
require 'jammit'
Jammit.package!
end

而这在.git/hooks/pre-commit中,所以它是自动完成的
echo "jamming it"
rake jam
git add public/assets/*
git add public/javascripts/*

默认情况下,Heroku的过期时间只有12小时,要增加它(因为我有一个有信心的缓存清除方案),所以将其放在config/initializers/heroku.rb中
module Heroku
class StaticAssetsMiddleware
def cache_static_asset(reply)
return reply unless can_cache?(reply)
status, headers, response = reply
headers["Expires"] = CGI.rfc1123_date(11.months.from_now)
build_new_reply(status, headers, response)
end
end
end

为了减少Heroku Rails服务器的负载,我还在 CloudFlare使用了一个免费帐户,该帐户提供了轻量级的反向代理/cdn,并具有一些不错的分析和安全功能。

当我开始缓存通用内容时,这东西真的会大叫!

关于ruby-on-rails - Rails + Heroku + Jammit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404545/

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