gpt4 book ai didi

ruby-on-rails - 具有多种模型的太阳黑子(在 Rails 中)

转载 作者:行者123 更新时间:2023-12-03 21:26:27 25 4
gpt4 key购买 nike

我有三个模型( UserTagProduct )并且它们相互作用。 User有很多TagsProducts .

出于搜索目的,我希望能够(使用一个搜索栏)搜索用户名、标签名和产品描述。我还想在产品页面上进行搜索,但这仅与标签名称和产品描述相关。

这里有两个例子:

搜索:“Linus Torvalds”返回三个模型中 Linus Torvalds 的所有实例,用户名的任何实例都放在更高的位置。

搜索:“Linux”,年龄:“20-25”返回产品名称/描述中包含“Linux”并属于该年龄范围的用户的所有实例,以及标签包含“Linux”和谁的用户拥有属于该年龄段的产品。请注意,如果搜索不包括年龄,那么它将默认为所有适合“Linux”部分的人,而不是没有人。

我的问题是这样做的最佳方法是什么?我应该用自己的 Controller 创建一个搜索模型吗?我应该忽略它并在共享文件夹中包含搜索部分吗?还有哪些方法?

非常感谢。

最佳答案

如果您正在处理任何复杂的条件,我喜欢 Search 对象的想法。

但是要使用 Sunspot 搜索对象:

@sunspot_search = Sunspot.search User, Tag, Product do |query| 
query.keywords @search_query
query.with(:age).greater_than 20
query.with(:age).less_than 25
query.paginate(:page => params[:page], :per_page => 30)
end

关于ruby-on-rails - 具有多种模型的太阳黑子(在 Rails 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037802/

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