Rails 复杂动态查询与分页

Rails 复杂动态查询与分页

在页面中通过用户的选择动态的生成不同条件的查询中, ActiveRecord提供的FIND机制显示非常弱小.
往往要用自己拼SQL的情况, 而这种情况分页又是个问题.

请问有没有复杂动态查询的好的办法,
还有在这种情况下的分页的省事的办法.
用will_paginate
获取页面条件查询可以使用
def index
 #初始化查询
 start_date = DateTime.now
 end_date = DateTime.now
 init_params_which_value_is_blank({
   :code => '%',
   :name => '%[:defalut_value]%',
   :start_date => start_date,
   :end_date => end_date,
   rder_by => {
    :_default_if_blank => 'code',
    'name' => :no_order
    'start_date' => 'created_at'  #开始时间用保存时间来排序
   },
   :sort_type => 'asc'})
 # 按钮定制
  def self.add_func_items_by_default
  add_func_item(:type => :search)
  end

 # 取得页面查询条件
  current_page(IntegrationTestCase,
      " integration_test_cases.code like :code
      and integration_test_cases.name like :name
      and integration_test_cases.created_at >= :start_date
      and integration_test_cases.created_at <= :end_date
      )
end
一切皆有可能!