我已经在我的一个项目中使用Ransack并使用Bullet来
在我的控制器中发现一些N + 1个查询。但是,我不太确定在使用Ransack时如何实现这一目标。
涉及两个模型,Patch
和Image
。还有一个Patch
has_one
Image
。
行动代码如下:
def index
@q = Patch.search(params[:q])
@patches = @q.result(distinct: true).order("code DESC").paginate(:page => params[:page], :per_page => 10)
end
有什么想法吗?
答案 0 :(得分:2)
这对我来说是一个项目。 def指数 @q = Client.includes(zone :: user).ransack(params [:q]) @clients = @ q.result.page(params [:page])。装饰 端
在你的情况下应该是
def index
@q = Patch.includes(:image).search(params[:q])
@patches = @q.result(distinct: true).order("code DESC").paginate(:page => params[:page], :per_page => 10)
end