views / layouts / application.html.erb一页除外

时间:2015-10-15 20:18:49

标签: html ruby-on-rails twitter-bootstrap layout

我想有一个页面不会显示我在application.html.erb中的bootstrap导航栏。这可能吗?

2 个答案:

答案 0 :(得分:1)

为了争论,假设您要在index操作上为名为Foo的模型禁止引导导航栏。

foos_controller.rb中,您需要将以下内容添加到index方法中:

render :layout => false

您的index视图将在不显示application.html.erb的内容的情况下呈现。

如果您希望包含引导导航栏中的application.html.erb aside的某些部分,则必须编辑index.html.erb以包含它们。

答案 1 :(得分:0)

要扩展MarsAtomic的答案,您需要查看layout方法:

#app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
   layout false #-> this will not render any layout each time an action inside this controller is invoked
end

#app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
   def index
      layout false #-> no layout only for "application#index"
   end

   def show
      render :new, layout: "test" #-> renders "new" action with "test" layout
   end
end