我正在嘗試在padrino應用程序中使用Exhibit pattern,但爲了正確執行此操作,我需要訪問渲染上下文。也就是說,我需要有一些對象context
,這樣調用context.render('accounts/index')
行時的某些內容將產生與從控制器內部調用render 'accounts/index'
(假設所有變量設置相同並且app/views/accounts/index.erb
是模板文件)時相同的輸出。sinatra/padrino中是否有可用的渲染上下文?
我在padrino公共API中找不到任何內容,所以我試圖深入挖掘。控制器中現有的render
方法包裝了sinatra的render
方法,這是一種私有實例方法。所以在類別MyApp
(即Padrino::Application
子類)上顯然沒有定義。 MyApp.new
產生Rack::Session::Cookie
的一個實例而不是它本身,我找不到的padrino方法返回該應用的現有實例,如果我調用它的私有render
方法,該方法將成爲context
對象的合適候選。
難道這難道不會因給定sinatra和padrino的設計而困擾嗎?還是有些我在這裏失蹤的東西?