2011-06-06 20 views

答えて

18

あなたがコントローラレベルでレンダリングデフォルトをオーバーライドすることができます。

class Admin::HomeController < Admin::BaseController 
    layout "admin" 

ます。また、コントローラのアクションレベルでのレイアウトのレンダリングを上書きすることができます。

def show 
    render :layout => "layout_for_show_only" 
end 

そして、あなたは本当に絶望的であれば、あなたはビューにレイアウトを上書きすることができます。

<%= render "print_view", :layout => "print" %> 

主題に関する優れたレールガイドを参照してください:layouts and rendering in Rails

ian 。

+1

感謝を!私はコントローラでこれを行いました。 def show レンダリング:layout => false end – Themasterhimself

+0

@ Themasterhimself-コントローラのすべてのページから削除したい場合、レイアウトの最上部で 'layout nil'を実行できます。コントローラ。 – rubyprince

+0

このヘルプにはありがとうございます:D –

5

あなたは、単にコントローラに追加することができます。

、そのアプリケーションのレイアウトは、ショーや編集ページ用にレンダリングされないことを意味
layout false, only: [:show, :edit] 

関連する問題