Я разрабатываю движок с контроллером и представлениями, но я хочу разрешить переопределение представлений (это достаточно просто, поскольку Rails::Engine позволяет это делать, автоматически добавляя app/views
из основного приложения к пути представления для движка ). Однако я хочу, чтобы переопределенное представление могло ссылаться на представление из движка — например, я хочу «обернуть» представление движка пользовательскими элементами в своем приложении:
# main_app/app/views/engine/template.haml
# ... custom stuff here
= render template: 'engine/template'
# ... custom stuff here
Проблема в том, что я не могу найти способ сослаться на представление движка после того, как переопределю его... возможно ли это?
render template: "#{YourEngine::Engine.root}/engine/template"
? его можно обернуть в помощник, напримерsuper_view
, который возвращает путь к файлу представления для движка. - person tihom   schedule 02.10.2013Missing template /path/to/engine/engine/template
- person Daniel Vandersluis   schedule 02.10.2013render file: ...
, а путь к файлу изменен, чтобы он представлял полный путь к файлу шаблона, например, может потребоваться добавитьapp/views
- person tihom   schedule 02.10.2013app/views
в путь). Не особенно дружелюбно, но для начала. Вы должны добавить его как ответ вместо комментария. - person Daniel Vandersluis   schedule 02.10.2013