对rails很新,我正在构建我的路由以获得这样的嵌套控制器:
resources :companies do
member do
get 'operating_hour'
end
resources :services do
member do
get 'services'
end
end
end
现在,我的应用程序布局是这样的:
<body>
<%= render 'layouts/header' %>
<div class="container">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
<% if main_side_view? %>
<%= render 'layouts/main_side' %>
<% elsif company_side_view %>
<%= render 'layouts/company_side' %>
<% else %>
<h1><%= yield(:title) %></h1>
<%= yield %>
<% end %>
<%= render 'layouts/footer' %>
</div>
除了嵌套('service')控制器生成的所有内容之外,所有内容都正常。当我转到嵌套控制器的链接时,我的布局不存在!
任何帮助?
答案 0 :(得分:2)
我认为你是以错误的方式做到的。您应该创建几个布局:
首先,layouts / application.html.erb
<%= render 'layouts/header' %>
<div class="container">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
<h1><%= yield(:title) %></h1>
<%= yield %>
<%= render 'layouts/footer' %>
</div>
其次,layouts / companies.html.erb
<%= render 'layouts/header' %>
<div class="container">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
Your code for companies
</div>
请参阅指南:http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts
您可以为Flash消息创建共享视图。