我在我的项目中实现了两个设计(版本:1.4.8)模型,例如用户和管理员。
是否有任何选项可以为具有两个设备的同一控制器中的单个操作配置身份验证?CartsControler 的示例:
index, show -> can access either admin or user
create, update, delete -> can access admin only
目前我已通过从 application_controller.rb 调用以下方法进行身份验证
def authenticate_user_or_admin!
unless user_signed_in? or admin_signed_in?
redirect_to root_url , :flash => {:alert => "You need to sign in as admin/user before continuing..".html_safe }
end
end
在 carts_controler.rb
class CartsControler < ApplicationController
before_filter :authenticate_user_or_admin!, :only => [:index, :show]
before_filter: :authenticate_admin!, :except => [:index, :show]
设计是否提供任何默认选项来验证多个设计模型?
这是解决这个问题的正确方法吗?或任何其他更好的解决方案?