2010-07-22 25 views
8

Chcę, aby stojak obsługiwał określony plik o określonym typie zawartości. Jest to plik .htc i musi być serwowany jako text/x-component, aby IE go rozpoznał. W Apache po prostu zrobiłabym:Jak ustawić typ zawartości dla określonego pliku za pomocą Rack?

AddType text/x-component .htc 

Jak mogę to osiągnąć dzięki Rack? Obecnie plik jest obsługiwany przez Rack :: Static, ale nie znalazłem opcji ustawienia typu zawartości.

Odpowiedz

13

można zaktualizować config/initializers/mime_types.rb takiego:

# Be sure to restart your server when you modify this file. 

# Add new mime types for use in respond_to blocks: 
# Mime::Type.register "text/richtext", :rtf 
# Mime::Type.register_alias "text/html", :iphone 

Rack::Mime::MIME_TYPES.merge!({ 
    ".ogg"  => "application/ogg", 
    ".ogx"  => "application/ogg", 
    ".ogv"  => "video/ogg", 
    ".oga"  => "audio/ogg", 
    ".mp4"  => "video/mp4", 
    ".m4v"  => "video/mp4", 
    ".mp3"  => "audio/mpeg", 
    ".m4a"  => "audio/mpeg", 
    ".htc"  => "text/x-component" 
}) 
+0

To załatwiło sprawę, dziękuję! Nie miałem mime_types.rb, więc umieściłem go bezpośrednio w pliku config.ru. –

+0

Przepraszam, pewnie nie miałeś, to z szyn, ale ponieważ szyny są zębatką, to działa. – jigfox

+0

Zwykle moje projekty Rack nie mają katalogu config/initializers, tylko moje projekty railsowe mają ... – Phillipp

0

Albo po prostu odpowiedzieć na pytanie, dodać to w config/initializers/mime_types.rb:

Mime::Type.register "text/x-component", :htc 
Powiązane problemy