ruby on rails 一步步開始(2)分頁和簡單查詢

來源:互聯網
上載者:User

使用 will_paginate 進行分頁和簡單查詢

在命令列下使用 gem install will_paginate 命令,出現下面結果安裝成功

 

開啟 books_controller.rb (你自己的控制器)

注釋掉尋找全部的方法,使用下面的方法,已經整合根據title進行查詢

 

Ruby代碼
  1. #@books = Book.all   
  2. @books = Book.paginate :page => params[:page],      
  3.                                :per_page => 2,    
  4.                                :conditions => ["title like ?", "%#{params[:search]}%"]    
  5.     respond_to do |format|   
  6.       format.html # index.html.erb   
  7.       format.xml  { render :xml => @books }   
  8.     end  
  9.   end  
#@books = Book.all@books = Book.paginate :page => params[:page],                                  :per_page => 2,                                :conditions => ["title like ?", "%#{params[:search]}%"]     respond_to do |format|      format.html # index.html.erb      format.xml  { render :xml => @books }    end  end

 

 開啟對應的 books_controller.rb 視圖頁面 index.html.erb

 添加查詢功能

 

Html代碼
  1. <% form_tag books_path, :method => 'get' do %>    
  2. <p>    
  3.     <%= text_field_tag :search, params[:search] %>    
  4.     <%= submit_tag "Search", :name => nil %>    
  5. </p>    
  6. <% end %>   
<% form_tag books_path, :method => 'get' do %> <p>     <%= text_field_tag :search, params[:search] %>     <%= submit_tag "Search", :name => nil %> </p> <% end %> 

 

及分頁功能

 

Html代碼
  1. <div>  
  2.      <div >  
  3.        <%= page_entries_info @books %>  
  4.      </div>  
  5.      <%= will_paginate @books, :container => false %>  
  6.    </div>  
 <div>      <div >        <%= page_entries_info @books %>      </div>      <%= will_paginate @books, :container => false %>    </div>

 

開啟環境檔案 environment.rb 在end後添加 

 

Ruby代碼
  1. require "will_paginate"  
require "will_paginate"

 

 運行效果如下

 

 

本文轉自:http://95700900.javaeye.com/blog/573308

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.