2012-04-27 15 views
0

Sinatraのスクリプトでは、ファイルが存在するかどうかをチェックし、適切なレンダリングでそれを表示するコードがあります。ファイルは\viewsの下にあります。ビュー以外のフォルダからページを取得するにはどうすればよいですか?

get '/:page' do 
    if File.exists?('views/'+params[:page]+'.slim') 
    slim params[:page].to_sym 
    else 
    raise error(404) 
    end 
end 

私は\publicでこれらのファイルをしたいです。

slim "../public/#{params[:page]}".to_sym 

答えて

0

ネヴァーマインドは、?:くださいどのように行うのですがありhttp://www.sinatrarb.com/configuration.html

を、あなたはあなたができることがわかります:viewsプロパティを設定します。このプロパティは必要なものを処理します。それらの例では、アプリルートのtemplates/ディレクトリに設定されています:

set :views, Proc.new { File.join(root, "templates") } 
0

シナトラのドキュメントを見てみましょう:私はこれは私がそれを見つけた

get '/:page' do 
    if File.exists?('public/'+params[:page]+'.slim') 
    slim "/public/"+params[:page].to_sym #=> error 
    else 
    raise error(404) 
    end 
end 
関連する問題