【发布时间】:2011-09-14 07:24:11
【问题描述】:
我还是个新手,在 Rails 中搜索数据库。我有一个模型和数据库,在“名称”属性下有一个名称列表。我希望能够将搜索关键字输入到单个搜索字段中,并且此输入可以是一个词或两个词或更多,具体取决于用户想要的结果的具体程度。
现在,我正在使用如下所示的丑陋的东西,它最多可以搜索 3 个搜索词。有没有办法让“search_length”关键字动态化? find 方法显然是重复的,但我不确定如何自动化它,也没有在网上其他地方找到任何有用的建议。
def self.search(search)
if search
search_length = search.split.length
find(:all, :conditions => ['name LIKE ? AND name LIKE ? AND name LIKE ?',
"%#{search.split[0]}%", "%#{search.split[1]}%",
"%#{search.split[search_length1]}%"])
else
find(:all)
end
end
除此之外,到目前为止,我很喜欢 Rails。
非常感谢, 列弗
【问题讨论】: