不要从应用程序布局中呈现容器

时间:2018-03-20 16:15:19

标签: ruby-on-rails layout render

你好我在rails上的ruby非常新,我需要排除(不渲染)应用程序布局(基础)中的容器,这给我带来了很多麻烦。我正在处理我的签名布局_new_web.html.erb并且包含了应用程序布局中的所有内容,我只需要排除容器,我尝试了很多东西,我没有找到设计控制器(登录控制器),我只看到应用程序控制器,我无法做任何事情来做对。我想我可以在相同的_new_web.html.erb布局中做到这一点。我发现这个代码并且看起来不错,但我不知道current_page是什么?和根路径,我的网址是/ users / sign_in - > _new_web.html.erb,我在这个布局的根路径的路径中找不到。

<% if current_page?(root_path) %>
   <%= render 'layouts/home_header' %>
<% else %>
   <%= render 'layouts/header' %>
<% end %>

谢谢!!!

1 个答案:

答案 0 :(得分:0)

我应该将布局重命名为shared/_<name>.html.erb文件夹。

layouts/_application.html.erb执行以下操作:

<% if current_page?(root_path) %>
  <%= render 'shared/_home_header' %>
<% else %>
  <%= render 'shared/_header' %>
<% end %>

树:

- views
 |- layouts/application.html.erb
 |- shared/
 | |- _header.html.erb
 | |- _home_header.html.erb

要生成您自己的设计控制器,您应该运行:

rails generate devise:controllers users