3.5 和 ruby 1.8.7 我正在尝试创建一个使用 4 列(name、name2、last_name、last_name2)的多重搜索,想在文本框中搜索我的 4 列,但我不想创建 24 个条件,有没有其他方法可以做到这一点,或者可能创建一个条件 FOR 而不是 24 个条件
I want to search by
name and name2
name and name2 and last_name
name and last_name
last_name and last_name2
...
There are 24 conditions
实际上我的控制器正在工作,但我不想写 24 个条件,这是我的问题
这是我的模型是空的
****************Here is my model************
class Project < ActiveRecord::Base
end
这是我的控制器
*************Here is my controller****************
class ProjectsController < ApplicationController
def index
@projects = Project.find(:all, :conditions => "(
name LIKE \"#{params[:query]}%\" OR
name2 LIKE \"#{params[:query]}%\" OR
last_name LIKE \"#{params[:query]}%\" OR
last_name2 LIKE \"#{params[:query]}%\" OR
(concat(name, \" \", last_name) LIKE \"#{params[:query]}%\")OR
(concat(name, \" \", name2 ) LIKE \"#{params[:query]}%\")OR
(concat(last_name, \" \", last_name2) LIKE \"#{params[:query]}%\")OR
(concat(name, \" \", name2, \" \",last_name, \" \",last_name2) LIKE \"#{params[:query]}%\")OR
(concat(name, \" \", name2, \" \",last_name) LIKE \"#{params[:query]}%\")) ")
end
end
这是搜索表格
*********************Here is my view
<div id="search-area">
<div id="searchbox">
<form name="search-form" id="search-form">
<label for="query"><%= ('BUSCAR') %>
<%= image_tag("loader.gif",
:align => "absmiddle",
:border => 0,
:id => "loader",
:style =>"display: none;" ) %>
</label>
<%= text_field_tag "query", params[:query], :autocomplete => 'on' %>
</form>
</div>
</div>
有人可以帮助我将其转换为有条件的吗?或者可能以其他方式在 text_field_tag 中找到 4 列