我可能遗漏了一些简单的东西,但是如何通过非持久化属性找到记录呢?
示例
class Post < ActiveRecord::Base
attr_accessible :title
attr_accessor :slug
def slug
title.parameterize
end
end我在使用Rails 3.2.11
发布于 2013-04-01 02:55:07
不幸的是,我认为这样做的唯一方法是遍历所有记录,直到找到目标为止,如下所示:
def self.find_by_slug(slug)
Post.select("title").detect { |post| post.slug == slug }
end表达同样的逻辑可能有其他方法,但我认为它们都需要大量的Ruby迭代。因此,如果您希望它对于大量的帖子是有效的,最好是持久化该属性。
https://stackoverflow.com/questions/15737034
复制相似问题