2016-10-30 12 views
0

0より大きいユーザーのみを含めるにはchallenges.publishコントローラの非クラス/モジュールと比較して

class UsersController < ApplicationController 
    def index 
    @users, @alphaParams = User.select{ |user| user.challenges.publish > 0}.alpha_paginate(params[:letter], {:pagination_class => "pagination-centered"}){|user| user.name} 
    end 
end 

たぶん私はselectの代わりにwhereを使用する必要がありますか?

答えて

2

同じレコードを選択しないように、joins、、distinctを組み合わせることができます。それは1 + nの問題やその他のエラーを提供することができるので、active records方法にmapselect等のようなルビーの方法を使用して

User.joins(:challenges).where('challenges.publish > 0').distinct 

は、悪い行動です。

関連する問題