Я пытаюсь использовать шаблон Exhibit в приложении padrino, но сделать это правильно, мне нужно получить доступ к контексту рендеринга. То есть мне нужен какой-то объект context
, чтобы вызов чего-либо в соответствии со строками context.render('accounts/index')
давал такой же вывод, что и при вызове render 'accounts/index'
из контроллера (при условии, что все переменные установлены одинаково и что app/views/accounts/index.erb
является файлом шаблона).
Я не могу найти ничего подобного в общедоступном API padrino, поэтому я попытался копнуть глубже. Существующий метод render
в контроллере является оберткой для метода render
Sinatra, который является частным методом экземпляра. Так что это явно не определено в классе MyApp
(то есть в подклассе Padrino::Application
). MyApp.new
приводит к экземпляру Rack::Session::Cookie
, а не самого себя, и ни один из методов padrino, которые я могу найти, не возвращает существующий экземпляр приложения, которое было бы подходящим кандидатом для объекта context
, если бы я вызвал его закрытый метод render
.
Это что-то, что по своей сути слишком сложно, чтобы возиться с дизайном Синатры и Падрино, или есть что-то, что я здесь упускаю?