<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xiaoqiu369

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      7 Posts :: 3 Stories :: 2 Comments :: 0 Trackbacks

    2009年3月4日 #

    注:rails的版本是2.0以上.

    1.在application.rb里添加分頁信息方法:

    1 def page_for(result,options={})
    2 
    3       default_options = {:per_page => 10}   
    4        options = default_options.merge options   
    5        pages = WillPaginate::Collection.new(options[:page],options[:per_page],result.total_hits)   
    6         return pages
    7     
    8     end
    2.users_controller.rb里添加search方法:
     1   def search
     2     
     3     @keyWord=params[:keyWord]
     4     if params[:page]==nil||params[:page]==""
     5       @page=1
     6     else
     7       @page=params[:page]
     8     end
     9     @users=User.find_by_contents(@keyWord,:per_page=>2,:page=>@page)
    10     @pages=page_for(@users,:page=>@page,:per_page=>2)
    11   end
    3.view頁面:
     1 <%@users.each do |user|%>
     2 <br>
     3    username: <%=user.highlight(@keyWord,:field=>:user_name,:num_excerpts=>1,:pre_tag=>'<strong>',:post_tag=>'</strong>')%><br> 
     4    地址:<%=user.highlight(@keyWord,:field=>:introduce,:num_excerpts=>1,:pre_tag=>'<strong>',:post_tag=>'</strong>')%>
     5 ==================================================================================
     6 <%end%>
     7 <p>
     8   共<%=@users.total_hits%>條記錄
     9 </p>
    10 <p>
    11   <%=link_to "上一頁",{:page=>@pages.previous_page,:keyWord=>@keyWord} %>
    12 <%=link_to "下一頁",{:page=>@pages.next_page,:keyWord=>@keyWord} %>
    13 <br/>
    14 <%=will_paginate @users%>
    15 </p>
    posted @ 2009-03-04 20:00 bobqiu 閱讀(233) | 評論 (1)編輯 收藏

    2009年2月20日 #

    按照網上傳統的方法安裝幾次都沒有成功.最后只有下載gem文件安裝
    1.下載ferret-0.11.6-mswin32.gem文件
    2.用gem 安裝:gem install ferret-0.11.6-mswin32 --local
    3.gem install acts_as_ferret
    4.從網上下載ferrect_ext.so文件,copy到 ferret-0.11.5-x86-mswin32\lib目錄(跟ferret.rb同一目錄)

    如果直接下載源碼安裝運行ruby setup.rb.會出現"the c extensions could not be installed"的錯誤


    手動安裝plugins

    將下載的源文件放到vendor/plugins里面,進入該目錄,運行ruby install.rb

    出現的問題:

    => Booting WEBrick...

    c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:442:in `load_missing_constant': uninitialized constant Ferret::Analysis::Analyzer (NameError)

            from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:77:in `const_missing'

            from E:/rorapp/demo/vendor/plugins/acts_as_ferret/lib/ferret_extensions.rb:17

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

            from c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:155:in `require'

            from E:/rorapp/demo/vendor/plugins/acts_as_ferret/lib/acts_as_ferret.rb:28

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

             ... 25 levels...

            from c:/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/server.rb:49

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'

            from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

            from script/server:3

     解決辦法就是把上面安裝完成ferret后的文件里找到ferrect_ext.so將這個文件放到lib里面.這個是200多K,而從網上下載的才30K.導致上面的問題.

    posted @ 2009-02-20 22:31 bobqiu 閱讀(952) | 評論 (0)編輯 收藏

    2009年2月7日 #

    1.驗證碼:recaptcha
    gem install --source http://www.loonsoft.com/recaptcha/pkg/ recaptcha

    2.搜索:acts_as_searchable是一個Rails插件,它依賴于Hyper Estraier這個獨立的搜索引擎所提供的索引和搜索服務 
                ferret gem install ferret -v=0.11.5 --platform mswin32  
    3.pdf:
    gem install pdf-writer  

    4.測試:
    RSpec+Mocha

    5.桌面應用
    gem install anvil

    posted @ 2009-02-07 14:57 bobqiu| 編輯 收藏

    2009年1月19日 #

    使用插件

    1/ will_paginate

        http://groups.google.com/group/will_paginate

     

    這個資料很多,不多說

     

    2/ squirrel

        下載:http://github.com/thoughtbot/squirrel/tree/master

     

    主要實現 動態條件的查詢,擴展ActiveScaffold find方法。支持跨Model查詢,具體見

        說明:http://thoughtbot.com/projects/squirrel

     

    貼段主要實現代碼

    #controller:

    def index

    #######################################################

    #下面代碼可以按實際情況提取到Model或其他地方;方便測試我直接放在index下

    #######################################################
        @permissions = Permission.find(:all) do
          paginate :page => params[:page]||1,:per_page=>5
          any do
            name == params[:permission][:name] unless params[:permission].nil?
            code == params[:permission][:code] unless params[:permission].nil?
            permit_date == params[:permission][:permit_date] unless params[:permission].nil?
            contact.company == params[:contact][:company] unless params[:contact].nil?
          end
        end
     #######################################################
        respond_to do |format|
          format.html # index.rhtml
          format.xml  { render :xml => @permissions.to_xml }
        end
      end

     

     

    #index--view

     

    <% field_set_tag do %>
      <% form_for :permission, :url=>permissions_url,:method=>:get,:html=>{:method=>:get} do |f| %>
        公司名稱 :<%= text_field_with_auto_complete :contact, :company,{},{:method=>:get}%>  <br>
        證書類型 :<%= text_field_with_auto_complete :permission, :name,{},{:method=>:get}%>  <br>
        證書編號 :<%= text_field_with_auto_complete :permission, :code,{},{:method=>:get}%>  <br>
        授與日期 :<%= text_field_with_auto_complete :permission, :permit_date,{},{:method=>:get}%>  <br>
        <%= submit_tag '查詢'  %>
       <% end %>
    <%  end %>

     

    ...

     

    <div class="digg_pagination">
      <div clas="page_info">
        <%= page_entries_info @permissions %>
      </div>
      <%= will_paginate @permissions, :container => false %>
    </div>

    posted @ 2009-01-19 11:23 bobqiu 閱讀(185) | 評論 (0)編輯 收藏

    2009年1月5日 #

        1.we receive a new request for a page to our rails application.
        2.Rails routes this request to a controller for processing.
        3.Our controller interacts with the models in our application to gather the necessary data
        4.Our model may retrive or insert data to our database
        5.Once our models have generated or retrived correct information,they return the data back to the collection
        6.The controller collects all of the data it's received from models and selects a view template to render
        7.The view template is rendered using  the data that the collection gathered and handed to  the web server
        8.An html page is returned to the user.
    posted @ 2009-01-05 16:18 bobqiu 閱讀(135) | 評論 (0)編輯 收藏

    2008年12月23日 #

    按照慣例,還是打印出Hello world.

    /app/controllers/stories_controllers.rb:

    class StoriesController<ActionControllers::Base
        def index
            @varies="hello world"
        end
    end


    /views/stories/index.html.erb:

    <%=@varies%>

    /config/routes.rb

    ActionController::Routing::Routes.draw do |map|
        map 'stories',:controller=>'stories',:action=>'index'
    end

    啟動服務在IE中打開:
    http://localhost:3000/stories
    OK
    posted @ 2008-12-23 16:46 bobqiu 閱讀(172) | 評論 (0)編輯 收藏

    2008年12月22日 #

    正在嘗試使用 URL E:\eclipse3.1.2\workspace\red51\fla\test51.swf 啟動并連接到播放器
    解壓縮后字節數為 [SWF] E:\eclipse3.1.2\workspace\red51\fla\test51.swf - 2703
    Error #2044: 未處理的 NetStatusEvent:。 level=error, code=NetConnection.Connect.Failed
     at test51_fla::MainTimeline/test51_fla::frame1()[test51_fla.MainTimeline::frame1:1]


    解決辦法 :添加紅顏色部分代碼/

    var nc:NetConnection=new NetConnection();
    nc.connect("rtmp://localhost/red51");
    nc.objectEncoding=ObjectEncoding.AMF0;
    var so:SharedObject=SharedObject.getRemote("mo",nc.uri,false);
    nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusEventHandle);

    function netStatusEventHandle(e:NetStatusEvent):void {
         trace(e.toString);
    }

    posted @ 2008-12-22 21:39 bobqiu 閱讀(1637) | 評論 (1)編輯 收藏

    2008年12月21日 #

         摘要: call.fla:  1nc = new NetConnection();  2nc.connect("rtmp://localhost/red5");  3nc.onResult = function(obj) {  4    var ...  閱讀全文
    posted @ 2008-12-21 22:12 bobqiu 閱讀(1636) | 評論 (0)編輯 收藏

    2008年12月19日 #

    Rails Routing from the Outside In
    http://guides.rails.info/routing_outside_in.html
    這篇文章將介紹Rails routing針對用戶方面的一些特性.參考這篇文章,你將會學到以下知識:
    a.理解routing的作用
    b.破解routes.rb內的代碼
    c.構建你自己的routes,可以用classic hash樣式或現在流行的RESTful樣式.
    d.識別route怎樣與controller和action映射.

    1.The Dual Purpose of Routing

    Rails routing 有兩種機制,你可以將trees轉換為pager,或把paper轉換回trees.具體地說,它可以連接收到的請求與你應用程序的控制器的代碼和幫你生成URLs,而不用做為一個字符串硬編碼.

    1.1connecting URLs to Code;
    當你的應用程序收到的請求為:
    GET /patients/17
    Rails里的路由引擎就是一段分發這個請求到應用程序合適的位置進行處理的一段代碼.在這個案例中,這個應用程序很可能以運行patients控制器里的show結束.顯示patients ID為17的詳細信息.

    1.2 Generateing URLs from Code
    Routing 也可以反過來運行,如果你的應用程序中包含這樣的代碼:

    @patient=Patient.find(17)
    <%= link_to "Patient Record",patient_path(@patient)%>

    這時路由引擎轉換這個鏈接到一個URL:http://example.com/patients/17.以這種方式你可以降低應用程序的脆弱性,使你的代碼更加容易閱讀和理解.

    Patient 必須作為一個resource被聲明為一個資源,通過named route來轉換.

    2.Quick Tour of Routes.rb

    在Rails中routing有兩種組件,routing engine本身,它做為Rails的一部分,config/routes.rb文件,它包含實際的可用在應用程序中的routes.

    2.1 Processing the File
    在形式上,Routes.rb文件也就是一個大大的block,會被放入ActionController::Routing::Routes.draw.
    在這個文件中有五種主要的樣式:
    RESTful Routes
    Named Routes
    Nested Routes
    Regular Routes
    Default Routes

    2.2 RESTful Routes
    RESTful Routes 利用rails嵌入式REST方法來將routing的所有信息包裝為一個單獨的聲明.eg: map.resource :books

    2.3 named Routes
    named routes 在你的代碼中給你很可讀的鏈接,也可以處理收到的請求

    map.login '/login' ,:controller=>'session',:action=>'new'

    2.4 Nested routes

    Nested routes可以在一個資源里聲明另一個資源.

    map.resources :assemblies do |assemblies|
     assemblies.resources :parts
    end

    2.5 Regular Routes
    map.connect 'parts/:number',:controller=>'inventory',:action=>'show'

    2.6 Default Routes
    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

    posted @ 2008-12-19 14:12 bobqiu 閱讀(222) | 評論 (0)編輯 收藏

    2008年12月16日 #

    routes:

    routes的命名允許你減少重復的代碼,通過分配一個根據生成一個封裝routes rule hash的方法的路徑規則名稱來實現,
    你可以定義一個命名路徑,你可以調用它在你的routes.rb文件中來代替connect方法.
    例如:
    map.home '',:controller=>'main',:action=>'start'
    這只是為你做了很少的一點事.首先,它創建一個名為home_url的方法.因此上面的命名規則,前期的請求為:
     redirect_to :controller=>'main',:action=>'start' 現在為:
     redirect_to home_url

    因為*_to方法被重寫的方式,在上面的情況,你沒有將參數傳遞給命名路徑,你也可以將它傳遞給一個引用的方法.
     redirect_to :home_url

    注意:將命名路徑做為一個符號已經取消了,在rails2.0將被刪除.

    這個也能應用于是tests.如果在你的controller里有redirect_to home_url,也可以用 assert_redirect_to home_url.

    *_url方法需要一個唯一的可選參數.這個參數是一個hash,插入url_for之中,這樣做就是為了當用redirect_to,link_to時命名規則可以參數化.

    你如果說有這樣的route

     map.user_page 'users/:user',:controller=>'users',:action=>'show'

    你可以這樣做

     link_to @user.username,user_page_url(:user=>@user)

    注釋:這個僅僅象普通的routes,表單是path_part/:symbol.在上面的例子中,user這部分將只展示在路徑中,并不嚴格與controller相關聯.users/只是path生成的部分,
    上面的例子生成<a href="http://localhost/users/7">http://localhost/users/7</a>
    比如:

    :user 是你定義的參數名稱,如果定義兩個一模一樣的路徑,很可能得不到你想要的結果.對于routes,定義默認值.

    當用參數來命名routes,你必須傳遞參數給assert中的命名規則.如果在你的controller中有redirect_to user_page_url(:user=>@user), 你需要有assert_redirected_to user_page_url(:user=>@user).controller中@user的id必須與test中的@user的id匹配.

    除了[route_name]_url方法,你可以用hash_for_[route_name]_url方法,這個方法包裝hash,沒有調用url_for

    所有的reoute將其它的命名規則用map.connect提供給你.

    posted @ 2008-12-16 09:58 bobqiu 閱讀(182) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲av永久综合在线观看尤物| 久久久久亚洲精品男人的天堂| 精品亚洲aⅴ在线观看| 十八禁在线观看视频播放免费| 亚洲午夜久久久久妓女影院| 国产高清视频免费在线观看| 精品久久久久久亚洲| 国产拍拍拍无码视频免费| 亚洲av之男人的天堂网站| 无码人妻AV免费一区二区三区| 久久久久亚洲精品无码蜜桃| 国拍在线精品视频免费观看 | 无码专区—VA亚洲V天堂| 精品一区二区三区免费| 亚洲精品中文字幕乱码影院| 亚洲第一成年免费网站| 亚洲av成本人无码网站| 久久久亚洲精品蜜桃臀| 人妻丰满熟妇无码区免费| 亚洲日本乱码卡2卡3卡新区| 国产男女猛烈无遮挡免费视频 | 日本一道本不卡免费 | 国产免费人成视频在线观看| 一本一道dvd在线观看免费视频| 国产亚洲婷婷香蕉久久精品| 99在线视频免费观看视频| 精品国产亚洲AV麻豆| 亚洲毛片αv无线播放一区| 国产男女爽爽爽爽爽免费视频| 亚洲一卡2卡三卡4卡无卡下载| 亚洲精品动漫人成3d在线| 8090在线观看免费观看| 亚洲AV成人精品日韩一区| 亚洲AV永久纯肉无码精品动漫| 18禁无遮挡无码网站免费| 国产免费MV大全视频网站| 亚洲国产精品午夜电影| 亚洲国产综合久久天堂| 黄网站色在线视频免费观看| 一个人免费观看www视频| 亚洲一级毛片免费看|