20130906_0.png

【Rails】レイアウトの切り替えをコントローラー内で指定する

20130906 0

【Rails】レイアウトの切り替えをコントローラー内で指定する

Railsで制作されたアプリケーションは指定しなければlayoutsフォルダ内の「application.html.erb」が利用されますが、サイトによっては状況に応じてこのレイアウトも切り替えたいケースがあります。この場合も「layouts」フォルダ内に「レイアウト名.html.erb」でファイルを制作しておき、このファイルをコントローラー(またはアクション)の中から指定することで、レイアウトの切り替えをすることができます。

コントローラーでのレイアウト指定方法

まずは、コントローラーでの指定方法を説明します。
コントローラー内に「layout 'レイアウト名'」を記述することで、コントローラーからのレイアウト指定ができます。

only

ここで指定されたアクションにだけレイアウトを指定できます。

except

ここで指定された以外のアクションでレイアウトを指定できます。

アクションでの指定方法

アクション内でレイアウトを指定する場合は「render :layout => 'レイアウト名'」を記述します。

RailsによるアジャイルWebアプリケーション開発 第4版
Sam Ruby Dave Thomas David Heinemeier Hansson
オーム社
売り上げランキング: 39,952
Rails3レシピブック 190の技
高橋 征義 松田 明 諸橋 恭介
ソフトバンククリエイティブ
売り上げランキング: 272,040
Ruby on Rails 3 ポケットリファレンス
山田 祥寛
技術評論社
売り上げランキング: 38,867

この記事を書いた人

Takamasa Suzuki株式会社wEVA代表取締役Twitter:@webcrafts
沖縄に移住してあっというまに四年が経過しました。大勢の方と知り合え、本土にいたままでは経験できないようなこともいっぱい経験させてもらえて感謝の毎日です。

投稿者:

Takamasa Suzuki

沖縄に移住してあっというまに四年が経過しました。大勢の方と知り合え、本土にいたままでは経験できないようなこともいっぱい経験させてもらえて感謝の毎日です。