在 Rails 3 中,如何通过查找虚拟属性来检索记录?我有一个name
列和一个slug
对它进行简单修改的列(参见下面的代码)。如何通过slug
to进行“反向查找” name
?
我正在尝试为以下find_by_slug
方法找到正确的代码:
class Brand < ActiveRecord::Base
has_many :sale_items
validates :name, :uniqueness => true
def slug
self.name.downcase.gsub(/\s/, '-')
end
def self.find_by_slug(given_slug)
first(slug: given_slug)
end
end
当我在 Rails 控制台中尝试find_by_slug
时,我得到了一个Unknown key: slug
错误。
这个问题似乎很相似,但我不确定它是否与我的问题相同。我会很感激一些见解和帮助!