gpt4 book ai didi

activerecord - 实现一个 ActiveRecord before_find

转载 作者:行者123 更新时间:2023-12-02 02:37:28 28 4
gpt4 key购买 nike

我正在使用表中缓存的关键字构建搜索。在表中查找用户输入的关键字之前,它会被规范化。例如,删除了一些标点符号,如“-”,并标准化了大小写。然后使用规范化的关键字来查找获取搜索结果。

我目前正在使用 before_filter 处理 Controller 中的规范化。我想知道是否有办法在模型中执行此操作。概念上类似于“before_find”回调的东西会起作用,尽管这对于实例级别没有意义。

最佳答案

您应该使用命名范围:

class Whatever < ActiveRecord::Base

named_scope :search, lambda {|*keywords|
{:conditions => {:keyword => normalize_keywords(keywords)}}}

def self.normalize_keywords(keywords)
# Work your magic here
end

end

使用命名范围将允许您与其他范围链接,这确实是使用 Rails 3 的方式。

关于activerecord - 实现一个 ActiveRecord before_find,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/803532/

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