每修改一个 css,都需要 precompile 一下才能看到效果,一次 recompile 得半分钟.. 按理说应该不需要这么麻烦 但是看 guides 里也没有这方面的描述
@Psi 我做了 2 个 diff,没有发现那里不对..T 项目是 rails new 出来的,没做修改
** diff config/application.rb /opt/dev/t/config/application.rb **
< #require 'rails/all'
< #
< #用于mongoid
< require "action_controller/railtie"
< require "action_mailer/railtie"
< require "active_resource/railtie"
< require "rails/test_unit/railtie"
< #用于assets pipeline
< require 'sprockets/railtie'
< #队列服务
< require 'resque/server'
---
> require 'rails/all'
22c12
< module Weibo
---
> module T
44,45c34
< # config.i18n.default_locale = :en
< config.i18n.default_locale = :zh_CN
---
> # config.i18n.default_locale = :de
58,60d46
<
< #Used for Devise
< config.action_mailer.default_url_options = { :host => "yourdomain.com" }
*diff config/environments/development.rb /opt/dev/t/config/environments/development.rb *
1c1
< Weibo::Application.configure do
---
> T::Application.configure do
30d29
<
为了 resque/server, config.ru 改成了
require ::File.expand_path('../config/environment', __FILE__)
run Rack::URLMap.new "/" => Weibo::Application, "/resque" => Resque::Server.new
#7 楼 @Rei
解决了!
原因是在我的 nginx 的配置中有这样一段
location ~ ^/(assets|images|javascripts|stylesheets|system)/ {
root /opt/dev/dreamworks/weibo/public/;
expires max;
break;
}
让 assets 的文件由 nginx 处理,不发送到后端的 unicorn。
这个配置在生产环境没有问题,但对开发环境来说,需要注释掉上面那段 location,再给 development.rb 中加入 config.serve_static_assets = true 这样来让 unicorn 处理 assets 的请求