为了使用friendly_id正确搜索我的帖子,我使用此查询:
Post.friendly.find(params[:id])
但我需要将此方法包装起来并将其发送到我的演示者类gem decent_exposure
。这给了我一个奇特的地方,可以包含一个可以获取我的对象的method
。
默认情况下,此方法为:find
。正如他们的代码中所写:
def finder
options[:finder] || :find
end
scope.send(finder, id) # scope here would mean Post
如何通过选项发送,这两个方法查询作为符号?
答案 0 :(得分:3)
如果在Post上定义类方法,请快速查看文档,然后就可以使用它了。
class Post
def self.find_with_friendly(id)
friendly.find(id)
end
end
然后你可以做
expose(:post, finder: :find_with_friendly)
非常确定这应该有用。
答案 1 :(得分:0)
像
这样的东西scope.send(:finder).try(:id)??