Ruby on rails 设计+;坎坎:定义了图坦卡蒙的积垢,现在如何限制控制器的使用
我创建了一个与CanCan集成的设计,如《告诉我》:Ruby on rails 设计+;坎坎:定义了图坦卡蒙的积垢,现在如何限制控制器的使用,ruby-on-rails,Ruby On Rails,我创建了一个与CanCan集成的设计,如《告诉我》: 现在我有两个资源用于我的用户类。设计并创建一个RESTful资源:用户。 正如在教程中提到的,我在restfuledit_user_路径中包含了一个表单,用于编辑用户的权限。 现在我不明白如何限制普通用户访问该编辑功能并为此使用Desive编辑功能 是否可以将用户限制为 can :manage, User 但他还能设计控制器吗 已解决 只需在ability.rb中添加一个 can :assign_roles, User 然后以_形式进
现在我有两个资源用于我的用户类。设计并创建一个RESTful资源:用户。
正如在教程中提到的,我在restfuledit_user_路径中包含了一个表单,用于编辑用户的权限。 现在我不明白如何限制普通用户访问该编辑功能并为此使用Desive编辑功能 是否可以将用户限制为
can :manage, User
但他还能设计控制器吗
已解决
只需在ability.rb中添加一个
can :assign_roles, User
然后以_形式进行RESTful编辑
<% if can? :assign_roles, current_user %>
然后让用户在RESTful表单或Desive表单上进行编辑,这无关紧要
编辑
_form.html.erb(或haml)
也许也行。取决于你的控制器。如果你想确保你的能力也在控制器级别得到检查,你应该向它添加
load\u和
class ProductsController < ActionController::Base
load_and_authorize_resource
end
class ProductsController
如果您只是根据
方法在视图中显示/隐藏链接,用户仍可能在地址栏中键入直接链接,例如编辑操作
class ProductsController < ActionController::Base
load_and_authorize_resource
end