xiaoqiu369

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

          2009年1月19日 #

          注: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 閱讀(237) | 評論 (1)編輯 收藏

          按照網上傳統的方法安裝幾次都沒有成功.最后只有下載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 閱讀(954) | 評論 (0)編輯 收藏

          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| 編輯 收藏

          使用插件

          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 閱讀(187) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 上饶市| 盱眙县| 章丘市| 淮南市| 枞阳县| 河东区| 平远县| 界首市| 囊谦县| 来安县| 枣阳市| 措美县| 马边| 泰来县| 涟水县| 肇庆市| 泸水县| 神木县| 康乐县| 彭山县| 永新县| 仙居县| 庄河市| 辉县市| 法库县| 永安市| 章丘市| 平和县| 漠河县| 满洲里市| 沭阳县| 肥乡县| 安龙县| 泰兴市| 高陵县| 鄂伦春自治旗| 辽中县| 江北区| 顺平县| 桓台县| 惠水县|