我有一个Repository
模型如下:
class Repository < ActiveRecord::Base
belongs_to :user
has_many :members, :class_name => :users
has_many :datum
end
它有一个private
布尔属性,指示它是否是公共存储库,即对所有人可见。或者,如果它是一个私有存储库并且只对他的成员可见。
检索仅允许用户查看的存储库的最佳方法是什么?
逻辑是:如果它是公开的,只需检索它。如果它是私有的,请检查用户是否在成员列表中。
我相信我只需要创建一个方法来在Repository
控制器上检查它,并使用它来验证用户是否可以访问它。但我想不出最好的方法来做到这一点!