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。どうすればいいですか?:

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

2 に答える 2

0

Sinatraのドキュメントをご覧ください:http ://www.sinatrarb.com/configuration.html

:viewsそこで、必要なものを処理するプロパティを設定できることに気付くでしょう。彼らの例templates/では、アプリルートのdirに設定しています。

set :views, Proc.new { File.join(root, "templates") }
于 2012-04-27T12:56:59.747 に答える
0

気にしないでください、私はそれを見つけました:

slim "../public/#{params[:page]}".to_sym
于 2012-04-27T12:55:43.310 に答える