小编abo*_*ond的帖子

设计管理路线

我有一个设计用户,里面我有 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)

ruby-on-rails devise

0
推荐指数
1
解决办法
646
查看次数

标签 统计

devise ×1

ruby-on-rails ×1