我有一个设计用户,里面我有 admin 作为布尔值默认为 false。我如何在我的 ruby on rails 应用程序中修复我的路线,以便它仅允许将 admin 设为 true 的管理员访问某些页面。
更新:我更改了我得到的第一个答案,其中说要创建一个 is_admin?方法并指定我的控制器中的操作。但是,当我这样做时,我得到一个:
undefined method `admin' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
更新 2:
产品控制器:
class ProductsController < ApplicationController
before_action :is_admin?, only: [:edit, :update, :destroy]
before_action :set_product, only: [:show]
Run Code Online (Sandbox Code Playgroud)
应用控制器:
def is_admin?
if signed_in?
redirect_to root_path unless current_user.admin
end
end
Run Code Online (Sandbox Code Playgroud)