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 回答