根据登录时的用户角色设计重定向到特定页面

2024-02-04

我的 Rails 应用程序中的用户拥有三种可能的权限,它们是User.is_admin, User.is_school, and User.is_security。根据我的应用程序的性质,我需要为每个用户提供一个单独的主屏幕,这些用户做完全不同的事情,我正在工作。我遇到的问题与所有用户登录后 Devise 如何自动重定向到 root_path 有关,无论我设置的权限如何。

我在 Users 命名空间中生成了 Devise Sessions 控制器,并将其覆盖为默认的控制器,但现在当我尝试根据条件权限进行重定向时,我得到了DoubleRenderError(明显的原因是 Devise 在创建会话时重定向到其他地方)。

我尝试将其作为 after_action 运行,甚至尝试覆盖after_sign_in_path_for方法,按照有关此事的设计文档的方向,但我仍然无法让它工作。任何帮助将不胜感激,谢谢!


你可以做这样的事情

class ApplicationController < ActionController::Base
  def after_sign_in_path_for(resource)
    if resource.role == 'admin'
      admin_root_path
    else
      user_root_path
    end
  end
end

你可以阅读更多相关内容https://github.com/plataformatec/devise/wiki/How-To:-成功登录时重定向到特定页面 https://github.com/plataformatec/devise/wiki/How-To:-redirect-to-a-specific-page-on-successful-sign-in

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

根据登录时的用户角色设计重定向到特定页面 的相关文章

  • Ruby/Rails - 访问“查找”表而不对其进行建模?

    这是针对 Ruby on Rails 3 0 x 项目的 我有一个 查找 表 其中包含来自供应商的数据 当我从其他来源导入数据时 我想检查此表 加入 SKU 以获取额外数据 在我的应用程序中为该表创建模型对我来说似乎不合适 我的应用程序永远
  • Rails - 格式日期字段

    如何设置 date field 的日期格式样式 我得到了以下表格 这是为日期字段呈现以下 HTML
  • Rails 应用中静态页面的最佳实践

    我正在为当地企业开发一个 ruby on Rails 应用程序 这些页面是 静态 的 但可以通过我为它们构建的后端 CMS 进行更改 是否有为静态页面创建控制器的最佳实践 现在我有一个带有所有静态路由的站点控制器 如下所示 路线 rb ge
  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • Mac Snow Leopard 上的 Curb gem 出现问题

    这消耗了我几个小时的时间 在控制台中我运行 require curb 我收到错误 LoadError dlopen usr local lib ruby gems 1 8 gems taf2 curb 0 5 4 0 lib curb co
  • 从模块中获取类名

    如何从模块中获取该模块包含的类的类名 module ActMethods def some method attr names cls self class this doesn t work end end 如何进入 cls 变量 加载此
  • “gem install Rails”因 DNS 错误而失败

    rvm use Using home owner rvm gems ruby 2 1 2 gem install rails ERROR While executing gem Gem RemoteFetcher FetchError Er
  • 处理rails应用程序中的rack_throttle异常

    当超出速率限制时 如何处理由rack throttle gem 生成的错误 现在我只收到包含以下内容的回复 Internal Server Error undefined method each for 403 Forbidden Rate
  • pow 说: Bundler::GemNotFound:无法在任何源中找到 rake-0.9.2.2

    我有一个运行良好的 Rails 应用程序rails s 但是当我尝试使用 pow 加载它时 我收到此错误 Bundler GemNotFound Could not find rake 0 9 2 2 in any of the sourc
  • Electron:阻止/取消页面导航

    有没有办法阻止或取消电子中的页面导航 win webContents on did start loading function event url if event sender getURL startsWith http xyz ev
  • Unicorn + Rails + 大型上传

    我试图在使用 Rails 在 Heroku 上运行 Unicorn 时允许进行大型上传 但我意识到任何大型上传可能需要比 Unicorn 工作线程的超时时间更长的时间 这意味着 我见过这种情况发生 Unicorn 主进程将杀死上传大文件的工
  • “捆绑安装”是否会在我的计算机上永久安装所有必需的 gem?

    我是 Rails 新手 正在学习捆绑器 我明白那个bundle install安装 gemfile 中指定的所有 gem 但将它们安装到哪里 是否将它们永久安装在我的计算机上 以便将来的任何项目都可以使用它们 如果是这样 这是否意味着我的计
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users
  • 在 ruby​​ 中获取多维数组的维度

    我刚刚开始学习红宝石 现在我需要计算出多维数组的维数 我查看了所有数组方法的 ruby docs 但找不到返回维度的方法 这是一个例子 For 1 2 3 4 5 6 维数应为 2 For 1 2 2 3 3 4 5 维度应为 3 简单的
  • 将 gmaps4rails 与 https/SSL 结合使用

    我是 gmaps4rails 的忠实粉丝 它使向我们的网络应用程序添加地图变得非常容易 我现在遇到的唯一问题是 如果您在 https 页面上使用它 则会收到有关混合内容的安全警告 谷歌地图API确实支持https 所以我认为这只是将脚本引用
  • 在 Rails 5 中结合 API 和 Web 视图

    从 Rails 5 开始 API gem 被合并进来 现在 如果我有 API 可以通过 AJAX 从网页调用 这会给我们留下什么 我正在这里寻找最佳实践 当然 我可以自己使用 JSON 序列化器创建一条路由 然后 就有可能将 API 调用完
  • database.yml 的所有可能键是什么

    我刚刚发现reconnect true配置选项可以在database yml文件 还有哪些其他可能的配置选项 是否有所有选项的完整参考 已知的关键示例 default default adapter mysql2 encoding utf8
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • render_views 在 rspec 中做什么?

    我对 rspec 很陌生 对 Rails 也很陌生 在为控制器编写测试用例时 我注意到render views经常使用 这是做什么的 如果我不调用它会发生什么 它呈现控制器规范中的视图 如果不放置 render views 视图将不会渲染
  • 使用 Active Record 信誉系统 gem,当我按投票排序时不会发生排序

    遵循 RailsCast 的信誉系统 gem 我将以下代码添加到我的 microposts controller 中 def index microposts Micropost paginate page params page find

随机推荐

  • SHA256 给出 44 长度输出而不是 64 长度

    我正在使用以下代码来执行 SHA256 public static string GenerateSaltedHash string plainTextString string saltString byte salt Encoding
  • 如果整数以前导零开头,为什么 JSON 无效?

    我正在将一些 JSON 文件导入到 Parse com 项目中 但不断收到错误 无效的键 值对 它指出有一个意想不到的 8 这是我的 JSON 的示例 Manufacturer Manufacturer Model THIS IS A ST
  • 使用某些 Object 属性从 ArrayList 中删除对象

    我正在维护一个ArrayList的物体 我的对象结构是 ID 名称和其他一些详细信息 我需要删除一个具有某个 id 值 10 的对象 并且我不想迭代该列表 有什么解决办法吗 使用 Java 8Collection removeIf http
  • 如何在Linux上创建临时文件,无论发生什么情况都会自动清理?

    我想在Linux上创建一个临时文件 同时确保该文件在我的程序终止后会消失 即使它被杀死或有人在错误的时刻执行了硬重启 做tmpfile 为我处理这一切 您似乎全神贯注于文件可能会因为某些原因而被遗忘的想法竞争条件 我没有看到为什么这是一个问
  • 配置 StructureMap.MVC5 与 Identity 配合使用的问题

    我目前正在尝试在从一开始就从未正确实现的旧版本 2 6 升级后在我们的应用程序中重新配置 StructureMap 我刚开始使用 DI 容器 并且发现很难找到较新的 StructureMap 版本的文档 我卸载了旧的 2 6 版本的 Str
  • 如何使用 JavaScript 和 sha512 算法对字符串进行哈希处理

    我尝试过使用 NPM 中的 sha512 但它一直在散列错误的内容 即我应该获取一个字符串 但它一直返回对象 所以在 PHP 中我知道我可以执行任务 hash hash sha512 my string for hashing 如何在 No
  • 安装自定义 Visual Studio 语言服务

    我按照一篇非常有用的文章的指示 为我的软件工作室的内部脚本语言编写了一个新的 Visual Studio 语言服务编写您的第一个 Visual Studio 语言服务 http www codeproject com KB recipes
  • 通过 dplyr 中的动态列名进行汇总

    所以我试图在 dplyr 中进行一些编程 但我在 enquo 和 评价 基本上我想将列更改为动态列名称 然后能够进一步操作该列 即汇总 例如 my function lt function data column quo column lt
  • 在 Visual Studio 2010 中显示当前行号和列号

    我刚刚安装了 SP1 现在在 Visual Studio 中的每个源文件底部看不到文本编辑器行号和列号 有谁知道如何重新打开此功能 如果使用 16 4 x 或更高版本的人想知道它去了哪里 它已从状态栏移动到编辑器窗口的右下角 请注意Col当
  • 如何对文档进行部分更新

    我需要有关如何更新 CouchDB 中的字段的指导 我通过控制台尝试了curl 它工作正常 但是以编程方式 我不明白如何更新特定字段 例如 名称 这是在 CouchDB 中更新文档的片段 它工作正常并返回更新后的修订 ID HttpPut
  • 如何在 Cocoa 应用程序中包含 OpenCV?

    当我使用 命令行工具 c stdc 模板创建 xCode 项目时 我能够包含并编译 opencv 标头并运行一些代码 但我想在 Cocoa 应用程序 上下文中使用 OpenCV 使用该模板创建时 当我在 main mm 中包含 OpenCV
  • 如何以编程方式设置gridview的高度android

    我想设置我的高度Gridview在我的应用程序中以编程方式 有什么办法可以实现吗 我只想在代码中的两种特殊情况下更改 gridview 高度 EDIT
  • 如何在 MapView 下方添加 TextView?

    我跟着你好视图 谷歌地图视图 http developer android com resources tutorials views hello mapview html现在我想添加一个TextView在下面的MapView 我只更改了布
  • Git 日志不显示子模块更改[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我在 ma
  • 更改react-big-calendar事件的颜色

    I need to make a calendar with events and I decided to use react big calendar http intljusticemission github io react bi
  • CSS 变换原点不适用于 safari 中的 svg

    我正在尝试围绕其中心旋转图像 但在Safari中 SVG的左上角 总是以它的原点为中心进行旋转 var rotate val 30 function rotate val rotate val rotate val val var tran
  • perf_event_open - 如何监视多个事件

    有谁知道如何设置perf event attr可以通过以下方式触发 PMU 监视多个 类型 事件的结构perf event open Like perf record e cycles faults ls 它有两种不同的事件类型 PERF
  • 将变量传递给 SSIS 包中的 powershell 脚本

    我正在尝试将 SSIS 变量传递到通过 SSIS 中的进程任务运行的 PowerShell 脚本中 我使用 SSIS 2008 如果这有什么区别 这是我使用的 powershell 脚本的副本 在使用硬编码值执行时运行良好 param st
  • 如何有效地选择列的子字符串并按其分组

    我目前在 MySQL InnoDB 数据库中有两个表 这是表格的两个简化版本 表 1 PropData PropData BigTag Date 10001AB 1000 01 01 00 00 00 表 2 限制标签
  • 根据登录时的用户角色设计重定向到特定页面

    我的 Rails 应用程序中的用户拥有三种可能的权限 它们是User is admin User is school and User is security 根据我的应用程序的性质 我需要为每个用户提供一个单独的主屏幕 这些用户做完全不同