<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      塵土飛揚

      關注C#、NET、Java、Ruby

      導航

      關于Rails中Helper方法中的開發

      一、首先了解一下Helper方法:
      1. helper方法就是方法;
      2. 它大部分在view中應用,也可以做為普通方法使用在其它場景中;
      3. 它可以寫在controller中,也可以寫在app/helper模塊中;
      4. Rails框架提供了一些Helper方法,如:form_for、link_to等等;
      5. 通過合理的將一些功能應用封閉成Helper方法,可以很大程度上簡化代碼量和維護成本,并且能完成一些統一性和風格方面的要求。

      二、Helper方法的定義
      1. 寫在controller中的場景
          寫在控制器中的Helper方法,或者打算將控制器中的某個方法開放成Helper方法,以便在視圖中使用時,必須使用“helper_method :xxx”寫聲明;如下面示例:

       class UsersController < ApplicationController
         helper_method :date_fmt

         def date_fmt date
           return date.strftime("%Y-%m-%d")
         end
       end


      2. 寫在app/helper模塊中的場景
          每個控制器都可以有一個對應的Helper模塊,它在app/helper目錄下,與控制器文件同名。
          ./app/helper/users.rb

          module UsersHelper
            def date_fmt date
              return date.strftime("%Y-%m-%d")
            end
          end


      三、Helper方法中視圖中的使用
      Rails中的視圖與JSP一樣,屬于嵌入式程序代碼(這也是為什么擴展名為*.erb的意思),即它的內容可以是Html標簽與Ruby代碼的結合,
      在視圖中可以編寫Ruby代碼(使用<%%>括起來),也可以編寫HTML標簽代碼。
      1. 在Rails2.x中有個約定,視圖中所使用的Helper方法或Ruby代碼,調用過程中包含代碼塊(do..end之間的代碼集合就叫代碼塊)的,
         無論是否有返回值,必須使用<% ... %>。如果不包含代碼塊并且打算將結果輸出到頁面的,使用<%= ... %>,這就是我們所看到
         的<% form_for %>和<%= link_to %>啦!
      2. 上述提到的問題在Rails3中得到了統一,那就是只要打算輸出到頁面,均使用<%= ... %>
      ./app/view/users/index.html.erb

      <table>
        <th>
          <td>序號</td>
          <td>姓名</td>
          <td>部門</td>
          <td>入職時間</td>
        </th>
        <% i = 1 %>
        <% for user in @user %>
          <tr>
            <td><%= i %><td>
            <td><%= user.name %><td>
            <td><%= user.department.name %><td>
            <td><%= date_fmt(user.in_date) %><td>
          </tr>
        <% end %>
      </table>

       

      四、如何編寫一個類似form_for的Helper方法(帶有代碼塊的)
      其實很簡單,但這中間有幾個小秘&密,仔細看!
      我們假設一個應用場景:將用戶傳入的Html標簽代碼括在一個<form>中,并將結果返回。

      def my_form_for url, &block
        #with_output_buffer是rails提供的一個方法,它能夠執行代碼塊,并返回執行后的結果;
        content = with_output_buffer(&block)
        #concat也是rails提供的一個方法,它能夠將字符輸出到視圖的調用位置,這是秘&密一般人可不知道哦!
        #不信的話,你也可以用return 返回,看看結果是不是你想要的!
        concat("<form '#{url}'>")
        concat(content)
        concat("</form>")
      end
      <% my_form_for url_for(:controller=>:users, :action=>edit, :id=>@user.id) do %>
        <input ...>
        <input ...>
        <input type="commit">
      <% end %>


      好了,先說到這吧,有空繼續為你講述我理解中的Ruby on Rails!

      posted on 2012-08-16 10:12  渡者  閱讀(665)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产精品白浆免费视频| 国产午夜精品福利视频| 亚洲另类无码一区二区三区| 四虎永久免费高清视频| 亚洲精品乱码久久久久久蜜桃不卡| 在线播放亚洲成人av| 你懂的亚洲一区二区三区| 国产精品中文字幕av| 精品国产av无码一区二区三区 | 国产亚洲婷婷香蕉久久精品| 疯狂添女人下部视频免费| jizzjizz日本高潮喷水| 亚洲精品一区二区三区在线观看| 无码综合天天久久综合网| 成人又黄又爽又色的视频| 国产欧美日韩综合精品二区| 麻豆蜜桃伦理一区二区三区| 日本国产一区二区三区在线观看| 久久精品国产再热青青青 | 午夜福利你懂的在线观看| 国产美女白丝袜精品_a不卡| 激情在线网| 一区二区三区四区黄色网| 国产精品毛片一区二区| 国产精品午夜福利小视频| 日韩高清亚洲日韩精品一区二区 | 上司人妻互换中文字幕| 日韩精品二区三区四区| 久久综合九色综合97婷婷| 国产精品久久久久无码网站| 天美传媒xxxxhd videos3| 国产99久久亚洲综合精品西瓜tv| 国产日韩精品免费二三氏| 激,情四虎欧美视频图片| 真实单亲乱l仑对白视频| 免费无码肉片在线观看| 海口市| 精品国产一区二区三区性色| 久热这里只有精品12| 亚洲国产精品久久久久婷婷老年| 蜜桃视频一区二区三区四|