Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 加入坎坎_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 加入坎坎

Ruby on rails 加入坎坎,ruby-on-rails,ruby,Ruby On Rails,Ruby,一般来说,我对RoR和Ruby都是新手,所以如果我对语法的理解不是很好,请原谅我。显然,我正在利用CanCan授权某些功能,我想限制用户只查看他/她自己的日程安排 在我的时间表模型中,我有 belongs_to:camp 我推测我可以利用如下内容(假设id是用户的属性) 如果这改变了什么,我也在使用Desive 谢谢。你走对了方向。。。在控制器中,您将授权!:阅读,@schedule(或对整个控制器使用加载和授权资源,然后在ability.rb中执行以下操作: can :read, Sched

一般来说,我对RoR和Ruby都是新手,所以如果我对语法的理解不是很好,请原谅我。显然,我正在利用CanCan授权某些功能,我想限制用户只查看他/她自己的日程安排

在我的时间表模型中,我有

belongs_to:camp
我推测我可以利用如下内容(假设id是用户的属性)

如果这改变了什么,我也在使用Desive


谢谢。

你走对了方向。。。在控制器中,您将
授权!:阅读,@schedule
(或对整个控制器使用
加载和授权资源
,然后在
ability.rb
中执行以下操作:

can :read, Schedule do |schedule|
  user.id == schedule.user_id
end
cancan接受的条件是指可用于筛选具有相关类的记录的条件。在这种情况下,您希望指定与计划类相关的条件。例如,如果user_id是计划的一个属性,则该能力应为

can :read, Schedule :user_id => user.id
(CanCan会将当前用户作为名为user的局部变量传递给您)

请尝试以下操作:

can:read,Schedule,:user\u id=>user.id

can :read, Schedule :user_id => user.id