gpt4 book ai didi

ruby-on-rails - 搜索模型 tagged_with 或 title like (with acts_as_taggable_on)

转载 作者:行者123 更新时间:2023-12-02 00:34:50 24 4
gpt4 key购买 nike

我正在使用范围搜索模型。这是通过带有搜索参数 q 的搜索表单访问的。目前我有下面的代码,可以很好地搜索与模型关联的标签。但我也想搜索标题字段。如果我添加到此范围,那么我将获得所有包含与搜索词匹配的标签和标题的结果。

但是,我需要返回与 company_id 和 category_id 匹配的结果,以及匹配的标题或标签。我对如何向该范围添加 OR 子句感到困惑。

  def self.get_all_products(company, category = nil, subcategory = nil, q = nil)
scope = scoped{}
scope = scope.where "company_id = ?", company
scope = scope.where "category_id = ?", category unless category.blank?
scope = scope.tagged_with(q) unless q.blank?
scope
end

我正在使用 Rails 3。

最佳答案

考虑过 Arel 吗?你可以这样做

t = TableName.arel_table
scope = scope.where(t[:title].eq("BLAH BLAH").or(t[:tag].eq("blah blah")))

否则你可以做

scope = scope.where("title = ? OR tag = ", title_value, tag_value)

关于ruby-on-rails - 搜索模型 tagged_with 或 title like (with acts_as_taggable_on),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061995/

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