0

Sinatra アプリケーションを開発しています。将来のサポートを容易にするために構造を簡素化するために、個別のファイルに配置されたいくつかのカスタム クラスを追加しました。私がやろうとしているのは、コードを繰り返さずに既存のヘルパーとシナトラ独自の機能 (モデル、セッションなど) を使用させることです。

たとえば、ヘルパーto_html (テキスト) があり、sinatra ルート内と、ルート内でも使用される独自のクラスの両方で使用したいと考えています。

私のsinatraアプリは古典的なスタイルで書かれています(あなたの提案が重要な場合)。

出来ますか?

4

1 に答える 1

0

プロジェクトのルートにヘルパー ディレクトリがあると仮定すると、サーバーの実行に使用するアプリ ファイル内から次のようなことができます。

%w(helpers).each { |p| Dir[File.join(File.dirname(__FILE__), p, "*.rb")].each { |file| require file } }

機能させるには、この下にルートを含める必要があります。これをさらにきれいにするために、routes/controllers ディレクトリを作成することもできます。その配列に「ルート」を追加するだけです。

%w(helpers routes).each { |p| Dir[File.join(File.dirname(__FILE__), p, "*.rb")].each { |file| require file } }

これには、すべてのヘルパーとルートが必要になります。

于 2012-08-10T03:52:22.473 に答える