隨筆-167  評論-65  文章-0  trackbacks-0
          一:給Views下的所有的rhtml頁面統一的裝飾
          定義layouts下的application.rhtml 即可

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
          <!-- 連接CSS樣式文件 -->
          <link rel="stylesheet" href="/stylesheets/message.css" type="text/css" media="all"/>
          <!-- 包含系統中默認的JavaScript庫 -->
          <%= javascript_include_tag :defaults %>
          <title>===歡迎光臨留言系統===</title>
          </head>
          <body>
          <br/>
          <br/>
          <br/>
          <div id="user-page">        
          <div id="header-section">
          ROR簡單留言系統
          <%= @username %>
          </div>
          <div id="content-section">
          <!-- 調用yield來返回被裝飾頁面中的內容 -->
          <%= yield %>
          </div>
          <div id="footer-section">
          CopyRight @ 2009 RiskFIT,INC  Feng
          </div>
          </div>
          </body>
          </html>

          紅色部分就是調用被裝飾的頁面了.其它為公共部分

          二:給views下的一個文件夾下的rhtml裝飾
          例如controller是 user_controller.rb 則按照rails的約定,對應的layout是layouts下的message.rhtml 對應的view在views目錄下的message文件夾下rhtml
          1,如果沒有定義layouts下的application.rhtml 則就按照message.rhtml裝飾
          2,如果application.rhtml 和 message.rhtml同時定義 則就同時都執行裝飾 (似乎沒有人這么傻)

          三:給controller對應下的action指定layout
          在controller中加入
          Layout “message.rhtml” 即可
          例如:

          class MessageController < ApplicationController

          layout("message.rhtml",:only=>'new')

          End
          :only 表示只對new action起作用,
          還有 :except 表示對哪些action不起作用

          四:給單個action指定特定的 layout
          因為一個controller內不能導入多個layout 所以這種做法很重要

          在controller中定義action 只需這樣寫即可

           def new
          @message = Message.new
          render :action =>'new',:layout=>"message.rhtml"
          end
          紅色部分即是跳轉到action用的layout了.


          write by feng
          posted on 2009-03-20 18:13 fl1429 閱讀(1072) 評論(0)  編輯  收藏 所屬分類: Rails
          已訪問數:
          free counters
          主站蜘蛛池模板: 红桥区| 北票市| 镶黄旗| 蓬莱市| 和平县| 越西县| 德化县| 名山县| 东源县| 泸西县| 乡宁县| 漯河市| 宁陵县| 乐至县| 东丽区| 汉沽区| 平谷区| 柳林县| 屏东县| 义乌市| 沈阳市| 斗六市| 亚东县| 百色市| 常宁市| 丘北县| 江都市| 三明市| 喀什市| 仙桃市| 连云港市| 吴旗县| 齐齐哈尔市| 渑池县| 门源| 景德镇市| 新河县| 邹城市| 丰宁| 富阳市| 宁德市|