我在我的项目中实现了两个设计(版本:1.4.8)模型,例如User and Admin。
是否有任何选项可以在具有两个设计的同一控制器中为单个操作配置身份验证? 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
in carts_controler.rb
class CartsControler < ApplicationController
before_filter :authenticate_user_or_admin!, :only => [:index, :show]
before_filter: :authenticate_admin!, :except => [:index, :show]
设计是否提供任何默认选项来验证多个设计模型?
这是解决这个问题的正确方法吗?或任何其他更好的解决方案?