无效的路由名称,已在使用中:“admin_root”(ArgumentError)- ActiveAdmin 安装失败

2024-02-12

I ran:

rails g active_admin:install

并得到这个错误:

Invalid route name, already in use: 'admin_root'  (ArgumentError)
You may have defined two routes with the same name using the `:as` option,
or you may be overriding a route already defined by a resource with the same naming.
For the latter, you can restrict the routes created with `resources` as explained here: 

我什至无法运行耙子路线。当我这样做时,我遇到了同样的错误。

这是我的路线文件:

Stynyl::Application.routes.draw do 
  resources :things

  devise_for :users

  resources :users, only: [:show, :new, :create]


  get '/about', to: 'pages#about'
  root 'things#index'

end

EDITS

I did a:

rails destroy active_admin:install

并再次运行安装命令。遇到同样的错误。路线名称无效,已被使用。

从架构中清除 ActiveAdmin。仍然出现错误。

还注意到卸载并不是 100% 干净。留下了一些样式和 JavaScript 文件,但这些似乎根本不会影响应用程序。

我像这样更新了我的 Gemfile:

gem 'activeadmin',         github: 'gregbell/active_admin'
gem 'ransack',             github: 'ernie/ransack'
gem 'inherited_resources', github: 'josevalim/inherited_resources'
gem 'formtastic',          github: 'justinfrench/formtastic'

group :development do
  gem 'sqlite3'
end

尝试运行 ActiveAdmin 安装生成器并得到相同的错误。我无法迁移数据库。这是我得到的错误:

SQLite3::SQLException: table "admin_users" already exists: CREATE TABLE "admin_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar(255), "last_sign_in_ip" varchar(255), "created_at" datetime, "updated_at" datetime) /Users/DylanRichards/.rvm/gems/ruby-2.0.0-p247/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'

检查我的架构文件,我什至没有看到表“admin_users”。

然而,我现在能做的是运行rake routes。这是输出:

Prefix Verb       URI Pattern                               Controller#Action
        new_admin_user_session GET        /admin/login(.:format)                    active_admin/devise/sessions#new
            admin_user_session POST       /admin/login(.:format)                    active_admin/devise/sessions#create
    destroy_admin_user_session DELETE|GET /admin/logout(.:format)                   active_admin/devise/sessions#destroy
           admin_user_password POST       /admin/password(.:format)                 active_admin/devise/passwords#create
       new_admin_user_password GET        /admin/password/new(.:format)             active_admin/devise/passwords#new
      edit_admin_user_password GET        /admin/password/edit(.:format)            active_admin/devise/passwords#edit
                               PATCH      /admin/password(.:format)                 active_admin/devise/passwords#update
                               PUT        /admin/password(.:format)                 active_admin/devise/passwords#update
                        things GET        /things(.:format)                         things#index
                               POST       /things(.:format)                         things#create
                 new_thing     GET        /things/new(.:format)                     things#new
                edit_thing     GET        /things/:id/edit(.:format)                things#edit
                     thing     GET        /things/:id(.:format)                     things#show
                               PATCH      /things/:id(.:format)                     things#update 
                               PUT        /things/:id(.:format)                     things#update
                               DELETE     /things/:id(.:format)                     things#destroy
          new_user_session     GET        /users/sign_in(.:format)                  devise/sessions#new
              user_session     POST       /users/sign_in(.:format)                  devise/sessions#create
      destroy_user_session     DELETE     /users/sign_out(.:format)                 devise/sessions#destroy
             user_password     POST       /users/password(.:format)                 devise/passwords#create
         new_user_password     GET        /users/password/new(.:format)             devise/passwords#new
        edit_user_password     GET        /users/password/edit(.:format)            devise/passwords#edit
                               PATCH      /users/password(.:format)                 devise/passwords#update
                               PUT        /users/password(.:format)                 devise/passwords#update
  cancel_user_registration     GET        /users/cancel(.:format)                   devise/registrations#cancel
         user_registration     POST       /users(.:format)                          devise/registrations#create
     new_user_registration     GET        /users/sign_up(.:format)                  devise/registrations#new
    edit_user_registration     GET        /users/edit(.:format)                     devise/registrations#edit
                               PATCH      /users(.:format)                          devise/registrations#update
                               PUT        /users(.:format)                          devise/registrations#update
                               DELETE     /users(.:format)                          devise/registrations#destroy
                admin_root     GET        /admin(.:format)                          admin/dashboard#index
batch_action_admin_admin_users     POST       /admin/admin_users/batch_action(.:format) admin/admin_users#batch_action
         admin_admin_users     GET        /admin/admin_users(.:format)              admin/admin_users#index
                               POST       /admin/admin_users(.:format)              admin/admin_users#create
      new_admin_admin_user     GET        /admin/admin_users/new(.:format)          admin/admin_users#new
     edit_admin_admin_user     GET        /admin/admin_users/:id/edit(.:format)     admin/admin_users#edit
          admin_admin_user     GET        /admin/admin_users/:id(.:format)          admin/admin_users#show
                               PATCH      /admin/admin_users/:id(.:format)          admin/admin_users#update
                               PUT        /admin/admin_users/:id(.:format)          admin/admin_users#update
                               DELETE     /admin/admin_users/:id(.:format)          admin/admin_users#destroy
           admin_dashboard     GET        /admin/dashboard(.:format)                admin/dashboard#index
   batch_action_admin_comments     POST       /admin/comments/batch_action(.:format)    admin/comments#batch_action
            admin_comments     GET        /admin/comments(.:format)                 admin/comments#index
                               POST       /admin/comments(.:format)                 admin/comments#create
             admin_comment     GET        /admin/comments/:id(.:format)             admin/comments#show
                     users     POST       /users(.:format)                          users#create
                  new_user     GET        /users/new(.:format)                      users#new
                      user     GET        /users/:id(.:format)                      users#show
                     about     GET        /about(.:format)                          pages#about
                      root     GET        /                                         things#index

So 我发现有人在这个问题上遇到同样的问题 https://github.com/gregbell/active_admin/issues/2414-- 但这表明问题在于 ActiveAdmin 将ActiveAdmin.routes(self)在你的config/routes.rb文件两次。

然而,你的路线根本没有那条线——我猜这是因为你跑了rails destroy active_admin:install,但这并不能解释为什么你在销毁后仍然收到该错误。

你在使用 git 吗?您能否看到生成过程中是否有任何其他可能未被销毁清理的修改? ActiveAdmin 问题还暗示,如果在生成过程中发生错误,生成将无法正确完成。

另一件要尝试的事情是再次运行发电机,然后检查你的路线并确保ActiveAdmin.routes(self)只出现一次。

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

无效的路由名称,已在使用中:“admin_root”(ArgumentError)- ActiveAdmin 安装失败 的相关文章

  • 如何跳过 Devise SessionsController 的 before_filter ?

    我有一个before filter in my ApplicationController 也就是说 对于我的项目中的每个控制器 我怎么能够skip before filter对于设计的SessionsController创造行动 这是我的
  • 如何让 Sinatra 通过 HTTPS/SSL 工作?

    正如标题所示 谷歌没有提供任何与此相关的有用信息 如何为 Sinatra 应用程序设置和配置 HTTPS SSL 如何创建 HTTPS 路由 我以前从未在我的应用程序中使用过 HTTPS 也没有调整 Rack 其他内容的经验 所以我很欣赏详
  • Ruby on Rails 最酷的功能是什么,为什么选择它? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我问这个问题之前 我浏览了 SO 上 Ruby on Rails 的搜索结果 找不到太多 但以下 在此页面上找到 https stackove
  • Memcachier 达到缓存限制时 Heroku 请求超时

    我使用 Memcachier Dalli 作为客户端 将 Rails 应用程序部署到 Heroku 我正在使用免费插件 提供 25 MB 缓存 我们开始收到来自heroku的请求超时 经过调试 我们发现手动刷新Memcachier解决了问题
  • 方法调用中是否有记忆约定?

    我想避免在方法调用中重新评估值 直到现在 我一直在这样做 def some method some method begin lot s of code end end 但它最终变得非常丑陋 在一些代码中 我看到类似以下内容 def som
  • 使用 YAML.load 解析 json 安全吗?

    我使用的是红宝石2 1 0 我有一个 json 文件 例如 测试 json item apple 1 banana 2 使用 YAML load 加载此文件是否安全 YAML load File read test json 我正在尝试加载
  • 如何在 JS Rails 响应中包含 HTML?

    我有一个响应 HTML 和 JS AJAX 查询的 FooController app controllers foo controller rb class FooController lt ApplicationController l
  • 从类内部调用属性访问器方法[重复]

    这个问题在这里已经有答案了 我正在尝试调用我的类属性编写器之一 但由于某种原因它永远不会被调用 下面是一些代码 可以使这一点更清楚 class Test attr reader test def test val puts Called t
  • 设备注册控制器获取零资源的自定义操作

    基本上我想要有两个单独的操作来更改密码和更改电子邮件 而不是只有一个 我已经更新了我的路由以指向继承自 Devise RegistrationsController 的新控制器 我的路线 rb devise for users contro
  • 自定义变形在rails3上不起作用?

    我正在使用 Rails 3 0 1 并在initializers inflections rb 中有以下代码 ActiveSupport Inflector inflections do inflect inflect irregular
  • 如何编写一个在安装 RubyGem 时调用的钩子?

    我想编写一个 Ruby 片段 当我的 Gem 首次安装时运行 sudo gem install mygem 能做到吗 看起来并没有真正支持 我发现了一个 post install message 属性 您应该能够在 gem 规范中设置该属性
  • Ruby mp3 Id3 解析

    目前我正在从事一个音乐项目 处理用户 mp3 上传 问题是我找不到适用于所有文件的 id3 库 我努力了id3 ruby and Mp3Info库 但它们都没有给我一致正确的结果 例如 最常见的问题 错误的流参数 比特率和采样率 有时是持续
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值
  • 什么是 - 获取的是一个目录 - 错误消息

    我收到这个奇怪的错误 Users gideon Documents ca ruby rubytactoe lib player rb 13 in gets Is a directory spec Errno EISDIR 玩家规格 rb r
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 为什么 rand() 总是返回相同的数字?

    我在用 兰特 200 在我的 Rails 应用程序中 当我在控制台中运行它时 它总是返回随机数 但如果我在应用程序行中使用它 index rand 200 索引总是相同的号码 为什么会这样以及如何克服这个问题 简单的伪随机数生成器实际上生成
  • ||= 是什么意思? [复制]

    这个问题在这里已经有答案了 我的应用程序控制器中有一个受保护的方法 def current user current user User find by id session user id end 我想知道什么 方法 我一直在努力寻找和找
  • 回形针不支持 .doc 文件

    在 Rails 4 0 2 中 我使用回形针 gem 上传文件 但它不支持 doc 文件 在文件上传字段下方 显示一条错误消息 扩展名与其内容不匹配 在模型中 检查内容类型的验证如下 validates attachment content
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • Rails 4 的 mobile_fu

    我正在尝试将我的应用程序从 Rails 3 2 13 切换到 Rails 4 在此过程中 我遇到了一个主要障碍 我使用 gem mobile fu 来确定用户是否来自移动设备 该 gem 需要 Railties 3 2 13 但 Rails

随机推荐

  • 错误:com.google.android.gms.ads 包不存在

    我的 Android 应用程序运行良好 API 15 直到我想包含 Google 广告 虽然 google play services jar 位于我的项目库中并且包含 com google android gms ads 但调试器会出现错
  • Spring会将内容保存在内存中还是存储在磁盘中?

    当从浏览器上传一个大小为 100 MB 的文件时 Spring 会将整个数据保留在内存中或暂时存储在磁盘中 在阅读了 Spring 文档之后 我知道如何设置临时目录 但我想知道如果我不提及这一点会发生什么 我有以下声明
  • 多次加密密码真的会更安全吗? [复制]

    这个问题在这里已经有答案了 可能的重复 双重哈希 密码是否比仅哈希一次更安全 https stackoverflow com questions 348109 is double hashing a password less secure
  • 资产文件project.assets.json没有“net6.0”的目标 - VS2022

    就在几天前 更新到 Visual Studio Community 2022 v17 2 从 v17 1 6 后出现此错误 错误NETSDK1005 资产文件 C XXXXXX Web obj project assets json 没有
  • 底部导航视图:更改应用程序启动时默认突出显示的选项卡

    如上所示 我有这个按钮导航视图 当我启动我的应用程序时 默认情况下我的 类别 选项卡会突出显示 但我想在启动我的应用程序时突出显示我的 主页 选项卡 任何人都可以帮助我摆脱它 尝试这个用法setSelectedItemId 你的方法Bott
  • 字符串初始值设定项和只读部分

    假设我有一个数组 函数的局部数组 和一个指针 char a aesdf and char b asdf 我的问题是在前一种情况下字符串文字是否 aesdf 存储在只读部分 然后复制到本地数组或者类似于 char a a e s d f 0
  • 在feathersjs中将socket.io逻辑与app.js分离

    目前 我的 app js 文件中的 socket io 配置如下 app configure feathers socketio function io io on connection function socket socket emi
  • Flutter中如何调度后台任务?

    我一直在寻找这个 但没有找到任何包或在 Flutter 中安排后台任务的方法 就像在 Android 中一样WorkManager AlarmManager 我知道我可以使用以下方式访问这些课程MethodChannel 但我想要一些适用于
  • 如何将子 SKSpriteNode 放置在其父级内部

    我不太明白定位子节点的逻辑 假设我有一个矩形 如果我没有改变它的锚点 子节点默认会出现在中间 但例如如何将其放置在矩形的左上角呢 还是右下角 我试过 child zPosition 1 child position y rect size
  • Xcode 中的存档显示在“其他项目”下

    我正在尝试使用 存档 选项将应用程序提交到 iTunes Connect 为通用 iOS 设备构建 它通常显示在管理器中的 iOS 应用程序下 然而 现在它显示在 其他项目 下 但没有更整洁的版本和想法 我最后一次构建是在 10 月 28
  • 在 GWT 单元格表中添加超链接

    我正在尝试在单元格表中添加一个超链接 然后单击该链接我想调用一个方法 使用下面的代码 我在单元格表中正确获得了超链接 但我无法通过单击链接来调用方法 当我单击链接时 它会将我带到上一页 任何解决方案 Hyperlink link new H
  • Excel VBA - 将子菜单添加到自定义右键菜单

    看了很久了 第一次发海报 我有一个带有右键单击功能的表单 可以正常工作 我试图在主右键菜单中添加一个子菜单来分隔一些功能 命令 我需要 想要插入 选择案例 所在的部分 但是 它只显示顶部菜单 不知道从这里去哪里 任何帮助都是极好的 谢谢 附
  • Python读取DOT格式的文件并返回城市名称列表

    嘿大家好 问题是这样的 说实话 这是家庭作业问题 但我只是被困住了 而且已经永远了 我的问题是 由于城市在每行中都有不同的索引位置 我们如何逐行迭代并将城市名称返回到列表中 任何可以让我开始的帮助将不胜感激 我并不懒惰 我已经为此工作了几个
  • 如何从视频中提取方向信息?

    在网上浏览了大量文档后 iPhone 似乎总是以 480x360 的宽高比拍摄视频 并在视频轨道上应用变换矩阵 480x360 可能会改变 但对于给定设备来说始终相同 这是在 iOS 项目中修改 ffmpeg 源并访问矩阵的方法http w
  • python中pandas系列的地板还是天花板?

    我有一个熊猫系列series 如果我想获得元素级下限或上限 是否有内置方法或者我是否必须编写函数并使用 apply 我问是因为数据很大所以我很看重效率 此外 还没有针对 Pandas 包提出这个问题 您可以使用 NumPy 的内置方法来执行
  • App Engine Java API 页面大小

    为什么谷歌决定忽略pageSize参数以及为什么使用不同的页面大小时收集的项目的总体大小不同 这是一个例子 Appsactivity Activities List request service activities list setDr
  • 如何更改 UIView zPosition?

    我不明白如何更改视图的位置 我尝试这样做 但没有任何反应 void viewDidLoad super viewDidLoad UIView view UIView alloc initWithFrame CGRectMake 100 10
  • 如何使用 Clang 从 C++ 字符串生成 AST?

    我正在尝试使用 Clang 操作 C 源代码 但在发现 API 时遇到问题 我想获取一串 C 源代码并从中生成 AST 就像是 auto myAst clang parse auto x 1 1 有一个最小的工作示例吗 您可以尝试下一个代码
  • 为什么添加的子图层没有显示在屏幕截图中?

    我正在尝试找出 iPad 应用程序的某些 iOS 代码中的错误 在我们的一个视图中 我们添加了子图层以产生阴影并确保视图的底部具有圆角边缘 这是我们添加子层的代码 UIBezierPath maskPath UIBezierPath bez
  • 无效的路由名称,已在使用中:“admin_root”(ArgumentError)- ActiveAdmin 安装失败

    I ran rails g active admin install 并得到这个错误 Invalid route name already in use admin root ArgumentError You may have defin