不显示当前用户资源的范围?

时间:2012-04-10 14:34:19

标签: ruby-on-rails ruby-on-rails-3

在我的Product模型中,我试图制作一个不显示当前用户产品的范围。

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

这应该查看当前用户并查看产品是否属于他。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

虽然有一些黑客可以让你的模型使用current_user,但默认情况下并非如此。您可以将方法设置为更通用,然后传入current_user:

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

然后用:

调用它
Product.except_for_user(current_user)