Ruby on rails Rails 4如何在视图中使用渲染布局选项?

Ruby on rails Rails 4如何在视图中使用渲染布局选项?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,只是在摆弄轨道布局。通过 2.2.11.2:布局选项 创建了一个名为two_column_landing的简单布局,并将其放在app/views下的layouts目录中 然后修改我的视图以渲染布局: <h1>Ca#tcl</h1> <p>Find me in app/views/ca/tcl.html.erb</p> <%= render layout: "two_column_landing" %> 我知道在生产代码中,作

只是在摆弄轨道布局。通过 2.2.11.2:布局选项

创建了一个名为two_column_landing的简单布局,并将其放在app/views下的layouts目录中

然后修改我的视图以渲染布局:

<h1>Ca#tcl</h1>
  <p>Find me in app/views/ca/tcl.html.erb</p>

  <%= render layout: "two_column_landing" %>

我知道在生产代码中,作为一种习惯,这可能不是一件好事,但我只是想知道如何做我想做的事情。你知道为什么这样不行吗?这不是rails 4的一项功能吗?

您可以继续阅读。有许多方法可以使用布局。如果要为给定操作调用特定布局,则应在控制器中而不是视图中执行该操作。如果需要在视图中调用,为局部指定布局,则语法不同,首先调用局部,然后调用布局

<%= render "comments", layout: "two_column_landing" %>
如果只想为控制器中的特定操作调用此布局,可以在render方法中执行

   def index
     @people = Person.all
     render layout: "multi-column"
   end 

我使用了这个,并且在rails 4中工作得很好

def index
    @people = Person.all
    render :layout => "my-layout-name"
end

你把文件'two\u column\u landing.html.erb'放在app/views/layouts/folder里面了吗?
   def index
     @people = Person.all
     render layout: "multi-column"
   end 
def index
    @people = Person.all
    render :layout => "my-layout-name"
end