Rails 3.1 beta Sprockets находит изображение, но изображение не отображается?


Я не уверен, что лучший способ объяснить это, я установил Rails 3.1 beta с Ruby 1.9.2 на Windows 7, создал новое приложение с этими маршрутами:

constraints :subdomain => 'admin' do

scope :module => "admin" do

  #resources :undo_items do
    #post 'undo', :on => :member
  #end

  #resources :projects, :domains, :emails, :databases, :admins, :services do
  resources :projects do
  end

  #match "projects" => "projects#index"
  #match "domains" => "domains#index"

  root :to => "projects#index"
end

end

# You can have the root of your site routed with "root"
# just remember to delete public/index.html.
root :to => 'admin/projects#index'

Одним из примеров Сасс является:

div {

        h1 { width: 177px; height: 54px; 
             background: url("summit-logo.png") no-repeat;
             float:left; position: relative; top: 15px; 

             a { text-indent: -9999px; display: block; 
                 width: 100%; height: 100%; }

        }

Когда запрашивается маршрут:

Started GET "/assets/summit-logo.png" FOR 127.0.0.1 at 2011-05-23 09:26:12 +0100

[Sprockets] /summit-logo.png 9a3c3...rest of unique request... fresh

Изображение находится в разделе app / assets/images / summit-logo.png

Есть идеи относительно того, почему звездочки, кажется, находят его, но он не отображается?

Спасибо!

2 2

2 ответа:

Это ошибка в звездочках

Причина этого заключается в том, что в Windows Sprockets считывает изображения в текстовом режиме, что приводит к всевозможным повреждениям. Почти во всех случаях это приводит к отправке меньшего количества байтов, чем указано в заголовке Content-length. В Firefox вы можете видеть, что страница все еще загружается в течение примерно 30 секунд. Именно в это время браузер ожидает недостающие байты.

Похоже, что это скоро разрешится: https://github.com/rails/rails/issues/1207

Я думаю, что вы должны искать его под url (/assets / summit-логотип.формат PNG) но мне кажется странным, что вы не получаете 404.

В моем случае звездочки (или кто-то еще в трубе) каким-то образом перекодируют мои изображения, так что они все искажаются. Ну, бета-проблемы...