【ruby on rails】レイアウトを作成する
view/layoutsディレクトリの下に、コントローラ名でlayoutを作成すれば、
動的部分のみ展開させて、ページのレイアウトはコントローラ内で共通に定義できるらしい。
できれば、サイト全体で同じレイアウトにしたいなと思っていたところ、
コントローラの先頭に
layout "common"
のように、layout名を指定すれば可能でした。
"common"部分は変数を指定して動的に変更することも可能なようです。
以下を参考にした。
http://rubist.blog77.fc2.com/blog-entry-62.html
また、<title>~</title>に、コントローラで指定したページ名を設定するようにした。
ページ名はApplicationControllerクラスにクラス変数を作成し、そのgetterを追加して
利用できた。
class ApplicationController < ActionController::Base
@@page_name = ""
def page_name
return @@page_name
end
# Pick a unique cookie name to distinguish our session data from others'
session :session_key => '_gdgdlog.net_session_id'
end
# <title>ぐだろぐ<%= controller.page_name %></title>
って感じで利用
このログへのコメント(0件)
コメント投稿フォーム
トラックバック
全てのviewで利用したい変数がある場合には、ApplicationControllクラスでクラス変数として定義してあげればいいが、その変数にviewからアクセスする方法がわからなかった。
これ......
関連ログ
- 【ruby on rails】submit_tagに確認ダイアログをつける方法
- 【ruby on rails】file_columnを使った画像ファイルのアップロード
- 【ruby on rails】railsのHTMLヘルパーに悩む
- 【ruby on rails】acts_as_authenticatedで認証
- 【ruby on rails】rubyでRSSを生成する。
- 【ruby on rails】改行コードをBRコードに変換するには
- 【ruby on rails】start_form_tag / form_tag
- 【ruby on rails】link_toヘルパーにclassを指定するには
- 【ruby on rails】rake db:migrate
- rubyでのメールアドレスとURLを抽出する正規表現
