我认为views/layouts/application.html.erb适用于所有布局?

irl*_*irl 0 layout ruby-on-rails

我正试图在rails应用程序上设计我的ruby.我创建了views/layouts/posts.html.erb,它描绘了我PostsController的观点.

我想添加一个始终位于页面顶部的主栏,无论用户正在查看什么视图.我认为这就是原样views/layouts/application.html.erb.

这似乎与我一致:http: //jacqueschirag.wordpress.com/2007/08/02/rails-layout-and-nested-layout-basics/

  • 整个Rails应用程序(所有控制器的所有视图)将使用此布局:

    views/layouts/application.rhtml

  • 单个控制器中的所有视图都将使用此布局.例如,weclome_controller.rb的布局将使用此布局.请注意,'_controller'不会用于布局:

    views/layouts/welcome.rhtml

我究竟做错了什么?

这就是我在我身上所拥有的 application.html.erb

  <div id="top-bar">
      <div id="user_nav">
        <% if current_user %>
          <%= link_to "My Profile", current_user %>
          <%= link_to "Logout", logout_path %>
        <% else %>
          <%= link_to "Register", new_user_path %>
          <%= link_to "Login", login_path %>
        <% end %>
      </div>
    </div>
    <%= yield %>
Run Code Online (Sandbox Code Playgroud)

And*_*Vit 5

无论你的布局,application.html.erbposts.html.erb应使主杆作为部分:

<%= render :partial => 'layouts/main_bar' %>
Run Code Online (Sandbox Code Playgroud)

所有布局都包含<html>包装页面的元素; 你没有一个布局环绕另一个.