Rails引擎:渲染父应用程序布局

Par*_*ngh 7 ruby ruby-on-rails rails-engines

在这里,我想渲染引擎的父应用程序的布局,即在层次结构引擎的父application.html.erb应该更高.但是由于引擎也有application.html.erb它只渲染它而不渲染引擎的父application.html.erb.

如何将我的父application.html.erb与我的引擎application.html.erb一起呈现

谢谢

Rom*_*cea 13

在您的引擎控制器中,您可以使用:

layout 'application'
Run Code Online (Sandbox Code Playgroud)

为了呈现应用程序布局,您可以切换到:

layout 'engine_name/application'
Run Code Online (Sandbox Code Playgroud)

加载引擎的布局.

我不知道你是否可以加载它们(引擎布局应该只从应用程序布局继承并扩展它)但我希望它至少可以让你进一步.

  • 我得到了它,但还有一个疑问,在我的application.html.erb中,我使用了<%= link_to"注销",destroy_user_session_path,:method =>:delete%>,如果路径从引擎扩展,则显示错误"undefined"局部变量或方法`destroy_user_session_path"如何解决它 (3认同)
  • @ParitoshSingh你会通过引用'引擎来解决这个问题.destroy_user_session_path`而不仅仅是`destroy_user_session_path`,其中`engine`是引擎的名称. (2认同)