1

Sinatra スクリプトがあり、複数の場所で使用する共通のメソッドまたは一連のアクションがあり、これをメソッドに抽象化したいと考えています。これを達成するのに役立つドキュメントを見つけることができません。誰かアイデアがありますか?

典型的なスクリプトは次のようになります。

require 'sinatra'

get '/' do
 'Hello world!'
end

get '/statement' do
 'Hello world!'
end

と の両方にgreetings()「Hello world」を表示するという関数を作成したい場合、構文はどうなりますか?//statement

4

2 に答える 2

5

使ってみましたdefか?Sinatra は DSL を使用していますが、それは通常の Ruby のものを排除しません。

require 'sinatra'

def greetings()
  'Hello world!'
end

get '/' do
  greetings()
end

get '/statement' do
  greetings()
end

それを「test.rb」に保存して で実行しruby test.rb、次に実行中のインスタンスに接続すると、http://localhost:4567いずれかのハンドラーがgreetings().

于 2013-10-15T20:06:27.550 に答える
1

Sinatra は「ヘルパー」ブロックをサポートしています: http://www.sitepoint.com/using-sinatra-helpers-to-clean-up-your-code/

于 2013-10-15T20:11:44.337 に答える