Ну, это довольно интересно, но все назначения псевдо, фамилии, электронной почты, роли игнорируются.
Форматирование было немного выше, оно должно быть
users = User.find(:all) do
if params[:_search] == "true"
puts "TESTTTTTTTTTTTTTT"
pseudo =~ "%#{params[:pseudo]}%" if params[:pseudo].present?
firstname =~ "%#{params[:firstname]}%" if params[:firstname].present?
lastname =~ "%#{params[:lastname]}%" if params[:lastname].present?
email =~ "%#{params[:email]}%" if params[:email].present?
role =~ "%#{params[:role]}%" if params[:role].present?
end
paginate :page => params[:page], :per_page => params[:rows]
order_by "#{params[:sidx]} #{params[:sord]}"
end
Итак, users = User.find(:all) do
является компоновщиком и принимает весь остальной код в конец как params.
Это довольно нестандартный код rails, я думаю, что он пытается создать условия, если определенные параметры передаютсяв. Вместо этого, возможно, попробуйте этот конструктор условий
User.paginate(:page=>params[:page], :conditions=>build_conditions(params))