2011-10-25 15 views
0

基本的に私はファイルがありますfoo.rbそのファイルで、私は@barを定義します。その後、私のapp.rbに私がルートハンドラ内で必要なファイルに定義されたインスタンス変数をコンテキストのコンテキストにテンプレートのコンテキストとして取り込む方法はありますか?

get '/' do 
    load 'foo.rb' 
    haml :index 
end 

のようなものを持っているとindex.hamlに私が@barを使用しようとするが、@barゼロです。 =(

はこれを行う方法は、基本的に、私は別のファイルにコードを分割し、各ルートハンドラ内でそれらをロードしたいのですが?あります。私は、あなたが与える「ヘルパー」を使用することができると思う

答えて

0

もしあなたのビジネスロジックを分離するための素晴らしい方法は、あなたのケースでは、それは次のようになり、次のようになります。

**** foo.rb **** 
helpers do 
    def bar 
    "Hello, world!" 
    end 
end 

**** app.rb **** 
require 'sinatra' 
require 'path/to/your/foo.rb' 

get '/' do 
    bar 
end 

「こんにちは、世界」行でHTMLページとして表示されますスニペット

関連する問題