Can Can可以用来限制用户可以访问的参数化视图吗?
我们制作用户购买个人访问权限的图片。
例如:
Bob可以访问图像1,3和4。 Joe可以访问图像2和4。 史蒂夫可以访问图片5。
网址类似于site.com/images/1
。
有没有办法可以限制用户可以查看的视图的数量(参数)?有没有CanCan?
我正在使用Rails 3.2.1
由于
答案 0 :(得分:1)
以下是我的一个项目的例子。
class App
has_many :app_ownerships
end
class User
has_many :app_ownerships
end
class AppOwnership
belongs_to :user
belongs_to :app
end
can :read, App do |app|
# find all ownerships with at least read-only access (access_level == 1)
active = app.app_ownerships.select do |o|
o.app_id == app.id && o.user_id == user.id && o.access_level >= 1
end
active.length > 0
end
def show
@app = App.find params[:id]
authorize! :show, @app # throws exception if not authorized
...
end
希望您可以根据自己的需要使用此代码段。