Rails 3.2资产管道 - 不适用于图像,但适用于指南针

时间:2012-02-23 13:02:50

标签: ruby-on-rails image asset-pipeline ruby-on-rails-3.2

我经历了指南针3.2痛苦,我以为我让它在一个月左右的时间里漂亮地工作了

然而奇怪的是我的图像看起来很脆弱。他们会连续工作一天,我会在第二天醒来时敲响一些代码并点亮webrick并且图像不会出现。

我的指南针/萨斯所有的作品都很精美的部分/插件和所有的善良。但我几乎每天都会注意到我开始工作的时候。我的图像不会出现在我的“开发”webrick环境中

我的日志说

在2012-02-23 07:22:55 -0500开始获取127.0.0.1的“/assets/home/sms.png” 服务资产/home/sms.png - 200 OK(8ms)

或偶尔......

在2012-02-23 08:01:27 -0500开始获取127.0.0.1的“/assets/home/sms.png” 服务资产/home/sms.png - 304未修改(0ms)

但它是一个0Byte文件。

我经常尝试一下 rake assets:clean:所有RAILS_ENV =开发RAILS_GROUPS =资产

我经常尝试递增 config / application.rb中的config.assets.version ='3'

经过几次随机尝试后,图像开始出现。但我不知道魔法是什么......

我也删除了公共/图像和其他子文件夹..

您有什么想法/建议吗?真的杀了我的工作效率。我应该提到图像不起作用/ Compass继续像魅力一样工作

this my application.rb

42 config.filterparameters += [:password]
43 config.assets.enabled = true
44 config.sass.line_comments = false
45 config.sass.syntax = :nested
46 #config.assets.precompile << /(^[^]|\/[^])[^\/]*/
47 #http://blog.55minutes.com/2012/01/getting-compass-to-work-with-rails-31-and-32/

48 config.assets.precompile << /(^[^\/]|\/[^_])[^\/]*$/
49 config.sass.preferred_syntax = :sass
50 config.assets.version= '3'

this is my gemfile.rb

45 group :production do
46 # gem 'thin'
47 end
48
49 group :assets do
50 gem 'tilt', :git => 'git://github.com/rtomayko/tilt.git'
51 gem 'sass-rails', '~>3.2.0'
52 gem 'coffee-rails'
53 gem 'uglifier'
54 gem 'compass', '~> 0.12.alpha'
55 gem 'compass-susy-plugin', :require => 'susy'
56 gem 'compass-960-plugin'
57 gem 'fancy-buttons'
58 end

任何帮助将不胜感激哦,是的..我清除了我的浏览器缓存

1 个答案:

答案 0 :(得分:0)

长度为零字节的图像听起来很像action_dispatch.x_sendfile_header控制的行为(通常只在production.rb中找到),其中Rails发送一个特殊的X-SendfileX-Accel-Redirect标题用于Web服务器,而不是提供图像数据本身。使用Safari或Chrome的Web Inspector等工具,检查使用零字节图像返回的标头。如果存在这些特殊标题,则可能意味着您错误地将特定于生产的设置包含在开发配置中。