2010-02-04 4 views

Répondre

15

vous pouvez utiliser set :public pour spécifier le répertoire pour vos fichiers statiques. Ensuite, vous pouvez servir le fichier en utilisant send_file() par exemple:

get '/static_file' do 
     send_file('my_static_file') 
    end 
+0

Le mot-clé de configuration a été [changed] (https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md#130--2011-09-30) de ': public' à ': public_folder' dans la version 1.3.0. – mlovic

3

Servir à partir du répertoire ./public. Voir la section Static Files du fichier README et le :static and :public configuration options.

+0

Comment serait-il savoir à la carte/xyz à abc.html avec: statique? File.read est-il le bon moyen de sortir un fichier nommé? – xyz

+0

Ahh, j'ai mal compris. Si vous configurez un: public et que vous voulez que abc.html pointe sur http: //webserver/abc.html et que sinatra ne le fasse pas, il servira simplement le html. Si vous voulez faire un routage personnalisé et servir un fichier statique, je pense que nstehr l'a. Bien sûr, vous pouvez aussi nommer votre abc.html en xyz (ou symlin) dans votre répertoire public, mais je pense toujours que j'aime le nstehr. – Mark

+1

J'ai appris quelque chose de toute façon :) – xyz