【发布时间】:2016-04-16 05:20:01
【问题描述】:
假设我有这样的简单 ActiveRecord 模型:
class Post < ActiveRecord::Base
belongs_to :category
end
class Category < ActiveRecord::Base
has_many :posts
has_many :published_posts, -> { where(:published => true) }
end
我想创建模块Reindexable,它将一个名为reindex 的方法添加到基类中。我希望能够通过以下 3 种方式调用此方法:
Place.reindex
Place.reindex(Place.where(:published => true))
Place.where(:published => true).reindex
Category.first.places.reindex
在这个方法里面我应该可以做这样的事情:
Reindexer.new(relation).reindex # how can I get relation here?
在 Ruby-on-Rails 中正确的做法是什么?在这种情况下如何访问当前关系?
【问题讨论】:
标签: ruby-on-rails activerecord