通过数组转置来组织ActiveRecord的conditions
使用ActiveRecord的conditions最基本的方法就是数组:
?
conditions = []conditions << ['first_name LIKE ?', "%#{params[:first_name]}%"] if params[:first_name]conditions << ['middle_name LIKE ?', "%#{params[:middle_name]}%"] if params[:middle_name]conditions << ['last_name LIKE ?', "%#{params[:last_name]}%"] if params[:last_name]:conditions = [conditions.transpose.first.join(' AND '), *conditions.transpose.last]?
其实就是通过数组转置来构建查询语句的。