在命名空间内设计

2024-01-10

我试图将我的 Rails 项目拆分为普通用户的前端和管理员的后端。因此,我创建了一个命名空间“admin”,以便我可以在地图管理中轻松控制管理特定的控制器方法/布局/身份验证。

我仅使用 Devise 来注册/验证我的管理员。因为它仅用于管理员,所以我尝试将 Devise 移动到管理命名空间。

我在 中找不到我想要的确切内容文档 https://github.com/plataformatec/deviseDevise 的但我在 paths.rb 中尝试了类似的方法:

namespace 'admin'do 
  devise_for :admins
end

我还尝试制作一个自定义 Devise::Sessions 控制器,但这似乎也没有成功。

有谁知道如何做到这一点?我应该使用常规路线来设计自定义(管理)布局吗?


简单地将 Devise“移动”到管理命名空间是错误的。 Devise 使用类似的控制器Devise::SessionsController并且不能“移动”。

我通常创建自己的控制器并从 Devise 继承它们:

class Admin::SessionsController < ::Devise::SessionsController
  layout "admin"
  # the rest is inherited, so it should work
end

并将其配置在config/routes.rb:

devise_for :admins, :controllers => { :sessions => "admin/sessions" }

Or您只能通过使布局变得更复杂来更改布局:

class ApplicationController < ActionController::Base

  layout :layout

  private

  def layout
    if devise_controller? && devise_mapping.name == :admin
      "admin"
    else
      "application"
    end
  end

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

在命名空间内设计 的相关文章

  • Rails has_many 通过带有附加属性的表单

    我正在尝试创建一个表单 允许用户向活动添加 编辑 删除位置 我目前找到的所有例子要么是HABTM表单 不允许编辑存在于表单中的附加属性 has many through配置 或仅列出现有关系 下面的图片显示了我想要完成的任务 该列表将显示每
  • Rails 命令有什么区别:--no-test-framework、--skip-test-unit 和 -T?

    原本我以为这三者都是一样的 但现在仔细一看 却发现它们各有不同 我通过搜索找不到任何关于此的好的文档 根据导轨API http api rubyonrails org classes Rails Generators Base html a
  • Rails:使最终用户可以编辑视图?

    无论如何 我可以使最终用户可以编辑 Rails 视图中的内容吗 这样他们就可以在我允许的页面上进行简单的文本更改 而无需我自己编辑 HAML 文件 想法 澄清 我了解 CMS 系统 但我认为这并不完全是我想要的 我想保持对视图的编程控制 但
  • 查找具有唯一两列组合的所有行

    我有这张桌子messages sender id recipient id 1 2 1 3 1 3 2 1 3 1 2 3 我希望选择这样的行 Either sender id or receiver id current user id
  • Rails 是否为 rake 任务运行初始化程序?

    当我运行 rake 任务时 是否执行配置 初始化程序中的脚本 如果你的 rake 任务取决于 environment 即 您像这样声明您的任务 task my task gt environment do end
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 表单元素的自定义 HTML 错误包装器

    我想找到一种方法来自定义默认错误html div class field with errors div 参加我自己的课程 div class clearfix error div
  • 从 Rails 2.3.8 升级到 4.0

    我正在 Rails 2 3 8 上运行一个应用程序 我计划将其升级到 Rails 4 0 RC 版 对我来说最简单的方法是什么 我需要先升级到 Rails 3 x 吗 注意 在我当前的实现中 我使用八哥和雪貂 作为升级的一部分 我也在考虑搬
  • Rails 上的 SASS 无效 CSS 错误

    我正在尝试使用http startbootstrap com stylish portfolio http startbootstrap com stylish portfolio但是 在我的 Rails 应用程序中 我在 vintage
  • Rails:将参数从视图传递到控制器

    我在 Rails 中有以下模型 class Task lt ActiveRecord Base attr accessible description name project belongs to project validates na
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch
  • 从轨道控制器返回

    这是一个初学者 Rails 问题 我这样做之后 format xml head ok 如何从控制器端点返回而不显示视图 如果我此时放弃函数的末尾 我会得到我所期望的结果 但如果我调用 返回 我最终会进入视图 或者在我的情况下会出现缺少的视图
  • 如何访问 has_many :through 关联对象的相关连接模型而不需要额外的查询?

    这是我现在已经遇到过很多次的事情 我很想弄清楚如何做我想要的事情 或者构建并向 Rails 提交一个补丁来实现它 很多时候 在我的应用程序中 我会有一些看起来像这样的模型 class User lt ActiveRecord Base ha
  • Rails 2.3.14:如何序列化 ActionController::Request 对象?

    我需要编写一些根据 Rails 2 3 14 控制器收到的请求对象类型执行操作的方法 但是 我不想启动整个应用程序 甚至不想启动控制器 我只想拥有这样一个对象的编组副本 以便我可以在 Rails 环境之外使用 不幸的是 ActionCont
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • 载波,Excon::Errors::MovedPermanently in RegistrationsController#update 错误

    我一直在尝试让 Carrierwave 与 amazon s3 一起工作 代替 storage s3 i have storage fog 将其更改为 storage s3 会立即出现错误 https stackoverflow com q
  • 为什么每个方法需要将其循环的值分配给变量?

    在 Rails 上工作 发现我对 Rails 的理解缺乏知识each method 不知道为什么each方法需要变量 message h2 h2 不确定为什么每个方法都需要变量 message 事实并非如此require它 你完全可以忽略它
  • 限制 has_many 关联中的对象数量

    我有一个相册 里面有很多照片 counter cache 设置会更新相册表中的 photos count 列 如何限制相册的照片数量 就我而言 使用就足够了validates length of class Album has many p
  • 如何最好地将地址关联到 Rails 中的多个模型?

    这个问题 https stackoverflow com questions 648463 best way to model customer addresson SO 似乎与我的问题有关 但我不确定我的问题是否得到了回答 一个地址可以属

随机推荐

  • malloc 如何与严格别名一起工作 - 它只能在单个编译单元内被违反吗?

    看完之后this https stackoverflow com questions 54237004 strict aliasing rule uint8 t buffer to structure 我有一个类似的问题this one h
  • 在 OSX 和 Mono 上使用 C# 进行开发

    我即将启动一个需要我编写 C 代码的项目 问题是 我有一台 Mac 我想知道在 OSX 10 6 上使用 mono 进行 c 开发是否存在任何陷阱 我认为该页面很清楚 实现很清晰 但另一方面 我读到人们安装 VMWare 或类似的东西来使用
  • 如何提交不更改和新消息?

    我怎样才能制作一个新的commit如果没有对文件进行任何更改 则创建一条新消息 这是不可能的 因为提交的代码 SHA 将是相同的 很少有充分的理由这样做 但参数是 allow empty对于空提交 没有更改文件 与 allow empty
  • Pandas groupby 结合 sklean 预处理续

    从这篇文章继续 Pandas groupby 与 sklearn 预处理相结合 https stackoverflow com questions 42772758 pandas groupby in combination with sk
  • JavaScript 中数组扩展语法的替代方案

    所以我正在使用使用 ES5 JavaScript 的旧代码库 这意味着我无法传播数组 var listOfItems item1 test 1 item2 test2 2 var docDefinition style piecesTabl
  • 如何创建一个有时间限制的哈希/密钥?

    我正在尝试创建一个有时间限制的密钥以在我的一个应用程序中使用 该密钥用于解锁应用程序中的某些功能 到目前为止我的想法是 生成 加密哈希我需要的各种信息 密钥生成日期 验证 加密哈希我需要的各种信息 现在的日期 如果所有信息都相同且日期相同
  • facebook-api:Facebook Connect 跨域接收者 URL 是什么?

    我正在尝试配置我的 Facebook 应用程序可调整大小 文档位于http wiki developers facebook com index php Ressized IFrame http wiki developers facebo
  • 编译时检查特征特化是否具有唯一的 id

    我看过很多帖子解释如何为类生成唯一的 id 就我而言 id 由用户选择 出于各种原因 但我想确保没有 id 在不同的类中使用两次 我将问题简化为以下代码 struct A struct B template
  • html.hidden 未在 asp.net MVC 核心 Razor 视图中设置值

    我正在开发一个 ASP NET MVC 核心应用程序 我有一个带有如下表单元素的弹出窗口 using Html BeginForm AddIVR ITPVoice FormMethod Post new role form Html Hid
  • 应用程序处理错误:意外的 CFBundleExecutable 密钥

    我正在尝试在启用 bitCode 的情况下向 Apple 提交 每次我提交时我都会收到这封电子邮件 我们发现您最近交付的 MyAPPP 存在一个或多个问题 要处理您的交货 必须纠正以下问题 意外CFBundle可执行密钥 Payload M
  • Sass 从模块扩展类

    使用 sass 中的新模块系统 使用 use 而不是 import 我如何在一个文件中定义一个类并使用 extend 在另一个文件中使用它 File 颜色 scss element background color blue 主文件 use
  • 如何将包发布到 TeamCity nuget 服务器?

    我们有一个为 nuget 配置的 TeamCity 7 服务器 它托管在没有外部连接的计算机上 是否可以将包发布到 TeamCity nuget 服务器 例如 如果我们想要将 log4net 包依赖项添加到我们的项目之一 则需要将其发布到
  • 查找数组中大于或等于N的数

    如果我有一个 PHP 数组 array 具有价值观 45 41 40 39 37 31 我有一个变量 number 38 如何返回值 39 因为这是数组中最接近 38 向上计数 的值 Regards taylor
  • 通过 fontforge 脚本获取字形宽度

    为了获取字形宽度 我将TTF字体为AFM 然后解析内容AFM文件来获取每个字形的宽度 由于从技术上来说 fontforge正在从二进制文件中捕获字形宽度TTF文件 然后创建一个AFM字体文件基于AFM标准模板 我想知道是否可以直接转换TTF
  • 如何检查 django 模板中的复选框是否被选中

    我需要检查 django 模板中是否选中了复选框 如果为 False 则打开其他一些字段 我已经尝试过类似的事情 if closed in is closed 但无论复选框是否选中 它们始终为 True 这是我在模板中的复选框属性
  • 如何在c#中获取先前的控制权

    如何在c 中获取先前的控制权 有一种方法可以GetNextControl但没有办法获得先前的控制权 谁能告诉我如何得到这个 提前致谢 GetNextControl Control control bool forward 您可以指定是否要向
  • 将最喜欢的方法添加到 IntelliJ 中的静态导入?

    在 Eclipse 中 可以配置某些 最喜欢的 类 在调用代码完成时将查找这些类 以查看是否可以为方法添加静态导入 这位于首选项 gt Java gt 编辑器 gt 内容辅助 gt 收藏夹 例如 我可以开始输入assertT Eclipse
  • Android CursorLoader,尝试重新查询已经关闭的游标

    我刚刚开始使用新的cursorLoader 但遇到了问题 下面的代码只是为了理解cursorLoader是如何工作的 但我不断得到 当我恢复此活动时 尝试重新查询已关闭的游标 在我开始使用 CursorLoader 之前 该应用程序运行良好
  • 从 cuda 内核中访问类数据成员 - 如何设计正确的主机/设备交互?

    我一直在努力改变一些cuda C代码变成更面向对象的代码 但以我目前对cuda运行机制的理解来说 我的目标似乎并不容易实现 对于这种情况我也找不到很好的解释 毕竟这可能是不可能的 我有一个global类的对象myClass保存一个要填充到内
  • 在命名空间内设计

    我试图将我的 Rails 项目拆分为普通用户的前端和管理员的后端 因此 我创建了一个命名空间 admin 以便我可以在地图管理中轻松控制管理特定的控制器方法 布局 身份验证 我仅使用 Devise 来注册 验证我的管理员 因为它仅用于管理员