'current_user' 在rails_admin 中未定义且有权限

2024-01-09

我一直在使用rails_admin v0.7.0 并成功完成了清除gem。我今天尝试将 Rails_admin 更新到 v1.0,但收到未定义的变量或方法错误current_user。在 v0.7.0 中似乎RailsAdmin::MainController继承自ApplicationController,而在 v1.0 中它直接继承自ActionController::Base,这可以解释current_user现在未定义(我相信current_user定义于ApplicationController与间隙宝石)。然而,由于我没有找到其他人遇到这个问题,我想我一定错过了一些东西。

我不是在这个应用程序上设置许可的人,但我不认为我们正在用它做任何会影响这一点的非标准行为。Clearance::Controller包含在ApplicationController。没有特殊定义current_user.

配置/初始化程序/rails_admin.rb

RailsAdmin.config do |config|

  # Popular gems integration

  ## Clearance
  config.authorize_with do |controller|
    unless current_user.admin?
      redirect_to(
        main_app.root_path,
        alert: "You are not permitted to view this page"
      )
    end
  end

  config.current_user_method { current_user }
end

你是对的,Rails Admin 继承自::ActionController::Base默认情况下,这就是导致您的问题的原因。幸运的是,修复方法很简单。添加config.parent_controller = "::ApplicationController" to config/initializers/rails_admin.rb:

RailsAdmin.config do |config|

  ## == Clearance ==
  config.parent_controller = "::ApplicationController"

  config.authorize_with do |controller|
    unless current_user && current_user.admin?
      redirect_to(
        main_app.root_path,
        alert: "You are not permitted to view this page"
      )
    end
  end

  # You actually don't need this line    
  # config.current_user_method { current_user }
end

我创建了一个参考仓库在这里 https://github.com/philtr/clearance-and-rails-admin如果您需要的话可以进行比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'current_user' 在rails_admin 中未定义且有权限 的相关文章

  • Selenium 找不到“spec”文件夹

    因此 我正在尝试建立本地系统来帮助完成仅使用 Rails 的雇主的现有项目 他们希望我主要关注 rspec 测试 因为该项目几乎可以正常运行 我需要充实他们错过的东西 但是 我无法获取 rake spec 来构建我的测试文件夹 事实上 测试
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • SQL where 连接集必须包含所有值,但可以包含更多值

    我有三张桌子offers sports和连接表offers sports class Offer lt ActiveRecord Base has and belongs to many sports end class Sport lt
  • 同一模型之间的两个 has_many 链接

    I have users其中有products通过 habtm 链接 该链接正在运行 我想添加一个链接user模型和product模型 以跟踪creator该产品的 当然 谁并不总是拥有该产品 但是当我写在我的user and produc
  • 如何从模型调用辅助方法?

    我使用 MongoDB 作为我的 Rails 应用程序中的数据库和 MongoID gem 我想从模型中调用辅助方法after create回调方法 这怎么可能 我的模型代码是 class Department include Applic
  • Googlebot 收到现有模板缺少模板错误

    在过去的几天里 当谷歌机器人尝试访问我们的主页 欢迎 索引 时 我们开始收到缺少模板的错误 我已经盯着这个看了几个小时 知道我只是错过了一些简单的东西 A ActionView MissingTemplate occurred in wel
  • Mongoid - 同一外域的两个域的逆

    我试图让以下 Mongoid 关系发挥作用 但每个团队的游戏字段都是一个空数组 这不是一个有效的关系模型吗 我是否需要分开比赛 即主场比赛和客场比赛 class Team include Mongoid Document has many
  • 渲染:带参数的动作

    我有一个有 2 种方法的类 第一个方法由视图使用一些 GET 参数 params page 调用 我想保存这些参数并通过渲染操作将它们发送到我的第二个方法 class exemple def first sql save of params
  • 如何使 Rails 3 资源预编译速度更快?

    我有一个正在运行的 Rails 3 2 1 应用程序 我正在通过 Capistrano 进行部署deploy assets它运行deploy assets precompile task 一切工作都很好 除了编译本身非常慢 我没有那么多 C
  • 当一组工作人员完成时如何执行 Sidekiq 回调

    假设我有一个 Sidekiq 任务将产品处理到我的数据库 每个产品都按商店分组 因此我的代码的一个过于简化的示例将是这样的 stores each do store store products each do product Produc
  • 使用 Fetch 和 FormData API 上传多个文件

    我正在尝试使用本机Fetch https developer mozilla org en US docs Web API Fetch API and FormData https developer mozilla org en US d
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • 为什么“rails server -e production”会出现“没有路由匹配“/”并且样式表未加载?

    它正在运行 Rails 3 0 0 或 Rails 3 0 5 使用 Ruby 1 9 2 当处于开发模式时 rails server then http 本地主机 3000 http localhost 3000一切正常 并且http l
  • Rails Active Admin css 与 Twitter Bootstrap css 冲突

    我对 Rails 资产管道有点陌生 所以我可能做错了什么 我正在尝试为我的后端使用 Active Admin 为我的前端应用程序使用 twitter bootstrap css 我将 bootstrap css 添加到 应用程序 资产 样式
  • 将 Rails 变量传递给液体可以在控制台中工作,但不在视图中

    我想将哈希传递给渲染方法 当我这样做时 在我的控制台中一切正常 object Object find params id hash object object to liquid template Liquid Template parse
  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • 如何从引擎覆盖 Rails 应用程序路由?

    我有一个 Rails 应用程序 我正在尝试将 Rails 引擎集成到其中 主机应用程序有一些捕获所有路由 magic urls match gt admin rendering show match path edit gt admin r
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被

随机推荐

  • 将浮点数转换为无符号整数,同时保留顺序

    我找到了很多关于 SO 的答案 专注于转换float to int 我只处理正浮点值 我一直在使用的一种简单方法是 unsigned int float2ui float arg0 float f arg0 unsigned int r u
  • 设计 RESTful 登录服务

    我经历过类似的问题here https stackoverflow com questions 4608225 how do i implement login in a restful web service 但我还不清楚概念 这是我的场
  • Spark 使用数据局部性吗?

    我正在尝试了解 Apache Spark 的内部结构 我想知道 Spark 是否使用某些机制来确保从 InputFormat 读取或写入 OutputFormat 或 Spark 本机支持的其他格式而不是从 MapReduce 派生的格式
  • System.NotSupportedException - 无法比较“System.Linq.IQueryable”类型的元素

    我目前收到以下错误 gt EntityFramework SqlServer dll 中发生 System NotSupportedException 类型的异常 但未在用户代码中处理 其他信息 无法比较 System Linq IQuer
  • python selenium 将密钥发送到只读文本框

    我正在尝试使用下面的 python selenium 代码将密钥发送到下面的字段
  • 单行删除重复项,保持列表的排序[重复]

    这个问题在这里已经有答案了 我有以下清单 Herb Alec Herb Don 我想在保持顺序的同时删除重复项 所以它是 Herb Alec Don 以下是我详细地执行此操作的方法 l new for item in l old if it
  • 如何在 r2dbc 中连接表?

    在java反应器中 r2dbc 我有两个表 A B 我还为它们定义了存储库 如何获取A连接B组成的数据 我只提出以下方法 从 A 调用databaseClient select 然后在循环中从 B 调用 select 但我想要更有效和反应性
  • 如何将浮点数转换为字符串而不考虑区域设置?

    我的产品面向葡萄牙受众 其中逗号是小数点符号 我通常使用 CString Format 将数字输入字符串 它会考虑计算机的区域设置 虽然总的来说这是一个很好的方法 但我在格式化 SQL 查询时遇到了问题 例如 CString szInser
  • PL/Python 和 postgreSQL:返回多列表的最佳方法是什么?

    在 Pl Python 中 RETURNS setof 或 RETURNS table 子句用于返回类似结构化数据的表 在我看来 必须提供每一列的名称才能返回表 如果您有一个包含几列的表格 那么这很容易 但是 如果您有一个包含 200 列的
  • 如何将多列连接成单列(事先不知道其数量)?

    假设我有以下数据框 agentName original dt parsed dt user text qwertyuiop 0 0 16102 0 0 我希望创建一个新的数据框 其中多一列 该列连接了该行的所有元素 agentName o
  • 用 python 求解超越方程组

    假设我有以下四个方程 cos x x a 余弦 y y b a b 1 c sinc x d sinc y 对于未知变量x y a and b 注意cos x x a有多种解决方案 变量也类似y 我只感兴趣x and y值 首先是正根 如果
  • CSS“框架”可以解释浏览器的异常情况吗?

    我为一家小型媒体公司建立网站 不幸的是 我们大约 45 50 的客户群使用 IE6 而另一半则几乎均等地使用 Firefox 和基于 Webkit 的浏览器 还有少数 Opera 用户 我的每一个网站都使用类似于 Eric Meyer 的重
  • 如何从多个嵌套if条件调用json

    我正在使用 CodeIgniter 我正在研究一个小项目 它是一个批次列表 现在 如果管理员想要创建批次列表 那么应该输入开始日期和结束日期以及开始时间和结束时间 然后它将在数据库中检查批次是否在相同的日期和时间运行 如果是 那么它将显示该
  • Ruby regexp:捕获url的路径

    我想从任何 URL 中提取其路径 例如 URL https stackoverflow com questions ask https stackoverflow com questions ask路径 问题 提问 这应该不难 url w
  • 场景中有多个反射器:如何实现clone()函数?

    我需要大约 80 移动 反射ShapeBufferGeometry在一个场景中 我希望他们分享尽可能多的材料数据 显然 clone 该方法不适用于Reflector 我得到的黑色几何图形不反射任何东西 尝试添加一个clone 方法到prot
  • Python ABC:注册与子类化

    我使用的是 python 2 7 python 文档表明您可以将映射传递给内置的 dict 它将将该映射复制到新的 dict 中 http docs python org library stdtypes html mapping type
  • 在 OS X El Capitan 10.11 中复制 root 下的文件失败

    我正在尝试将根文件复制到 System 文件夹中 它适用于所有以前的 OS X 版本 但不适用于 El Capitan 10 11 这是我在终端的根目录下复制文件的方法 MACMINI myusername sudo su MACMINI
  • Django 通过多对多中间表中的多个字段进行过滤

    我的 django 项目中有以下模型 class Video models Model media models ForeignKey Media class Media models Model title models CharFiel
  • 成员函数指针从派生类到基类的强制转换

    我正在执行以下操作 获取成员函数指针3 params from a 派生类 将其转换为成员函数指针基类 with 0 params 将其投射到基类 with 3个参数 back 呼唤着它 它工作得很好 到目前为止 但我应该保留它吗 当前代码
  • 'current_user' 在rails_admin 中未定义且有权限

    我一直在使用rails admin v0 7 0 并成功完成了清除gem 我今天尝试将 Rails admin 更新到 v1 0 但收到未定义的变量或方法错误current user 在 v0 7 0 中似乎RailsAdmin MainC