2016-05-16 10 views
0

上のクラスには、濾過可能作る私は、次のモデルがありROR4でアプリケーションを持っていますユーザー。私は次のようにそれを実行しようとしました:が委任属性

# Scope to filter based on user 
    scope :_user, -> (user_id) { where user: user_id } 

これは、しかし、あなたは私が間違っているのか知っているか、「未定義のメソッド `利用者 '」を返しますか?

+0

:次のように:

代わり
def user request.user end 

クエリで要求を含めることができますか? – Ilya

+0

実際には理由はありませんが、アンダースコアなしで使用することもできます。 – hY8vVpf3tyR57Xib

答えて

2

引用符の表にユーザー列がありません。代表団は方法を要求してただちに要求する。あなたスコープ名がアンダースコアで始まる理由

scope :_user, -> (user_id) { includes(:request).where(requests: { user: user_id}) }