padrino アプリケーションでExhibit パターンを使用しようとしていますが、適切に使用するには、レンダリング コンテキストにアクセスする必要があります。つまりcontext
、 の行に沿って何かを呼び出すと、 がコントローラー内から呼び出されcontext.render('accounts/index')
た場合と同じ出力が生成されるようなオブジェクトが必要です (すべての変数が同じに設定され、それがテンプレート ファイルrender 'accounts/index'
であると仮定します)。app/views/accounts/index.erb
padrino パブリック API 内でこれを行うものを見つけることができないため、より深く掘り下げようとしました。コントローラー内の既存のメソッドは、プライベート インスタンス メソッドであるrender
sinatra のメソッドをラップします。したがって、クラス(つまり、サブクラス)render
で定義されていないことは明らかではありません。結果はそれ自体ではなくのインスタンスになり、私が見つけることができる padrino メソッドのどれもアプリの既存のインスタンスを返しません。これは、プライベートメソッドを呼び出した場合にオブジェクトの適切な候補になります。MyApp
Padrino::Application
MyApp.new
Rack::Session::Cookie
context
render
これは、特定のシナトラとパドリーノのデザインを気にするのが本質的に難しすぎるものですか、それとも私がここに欠けているものがありますか?