gpt4 book ai didi

ruby-on-rails-3 - 在单个搜索文本字段 (RAILS) 中搜索多个关键字

转载 作者:行者123 更新时间:2023-12-01 09:06:52 25 4
gpt4 key购买 nike

我还是个新手,在 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。

非常感谢,列弗

最佳答案

如果您用另一个 % 符号关闭 name 变量,来自 Łukasz Śliwa 的代码效果很好。

上面的完整代码对我有用。很棒的帖子。

def self.search(search)

if search
search_length = search.split.length
find(:all, :conditions => [(['name LIKE ?'] * search_length).join(' AND ')] + search.split.map { |name| "%#{name}%" })
else
find(:all)
end

end

关于ruby-on-rails-3 - 在单个搜索文本字段 (RAILS) 中搜索多个关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com