如何在Ror中将一个布局嵌套在另一个布局中?

时间:2016-06-20 01:01:21

标签: ruby-on-rails-4 layout render

我正在使用Rails 4.2.3。我对布局有点困惑。我有一个应用程序布局,我想应用于所有页面。我也有一个

app/views/layouts/my_object.html.erb

我想只应用于我的app / controllers / my_objects_controller.rb文件中的方法,我最顶层的文件

class MyObjectsController < ApplicationController
  layout 'my_object'

问题在于,当渲染我的视图时,会呈现“my_object”布局中的代码,但不会呈现应用程序布局代码。 my_object布局如下所示

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= stylesheet_link_tag    "my_objects", :media => "all" %>

<%= render 'tabs' %>

<%= yield %>

如何同时渲染我的应用程序和my_object布局?

1 个答案:

答案 0 :(得分:0)

因为你编写它的方式只是覆盖应用程序布局的方式。

让你的对象成为一个部分。这是做到这一点的方法。如果要将特定的CSS附加到部分,请不要忘记将其添加到application.css文件中以便加载它。

===补充道 这将在您的MyObject Controller类的视图中。

<%= render 'myobject', layout: "my_objects", , object: @object %>