1

私のProductモデルでは、現在のユーザーの製品を表示しないスコープを作成しようとしています。

class Product < ActiveRecord::Base
  def self.not_current_users_products
    where(:user_id => current_user == nil)
  end
end

これは現在のユーザーを見て、製品が彼のものかどうかを確認する必要があります。

どうすればいいですか?

4

1 に答える 1

2

モデルで利用できるハックがいくつかありcurrent_userますが、デフォルトではありません。メソッドをもう少し汎用的に設定してから、current_user を渡すことができます。

def self.except_for_user(user)
  where("user_id != ?", user.id)
end

次に、次のように呼び出します。

Product.except_for_user(current_user)
于 2012-04-10T14:42:23.090 に答える