Ruby on rails 未定义的局部变量或方法“根路径';对于#<;注册控制器:0x007f97b41326f0>;

Ruby on rails 未定义的局部变量或方法“根路径';对于#<;注册控制器:0x007f97b41326f0>;,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我正在尝试其他人创建的RoR项目。我正在尝试登录并为项目创建新用户名和密码。不幸的是,我遇到以下错误: undefined local variable or method `root_path' for #<RegistrationsController:0x007f97b41326f0> 您的路由.rb中没有定义根目录,例如: root 'home#index' 您正在使用active admin,似乎存在一些根本问题。尝试: 在您的routes.rb中: Rails.ap

我正在尝试其他人创建的RoR项目。我正在尝试登录并为项目创建新用户名和密码。不幸的是,我遇到以下错误:

undefined local variable or method `root_path' for #<RegistrationsController:0x007f97b41326f0>

您的
路由.rb中没有定义
根目录,例如:

root 'home#index'

您正在使用active admin,似乎存在一些根本问题。尝试:

在您的routes.rb中:

Rails.application.routes.draw do
  root to: 'controller#action'
  ActiveAdmin.routes(self)
    authenticated :user do
  ...
  end
end

将routes.rb文件粘贴到此处。特别是根路径,它很长。我已经在这里展示了整个过程:我想,您的
注册控制器
应该使用
已验证的根路径
未验证的根路径
,而不仅仅是
根路径
(它可能会在一个或多个操作中重定向到它)。这些是在您的
路由.rb
中定义的根(请参见
作为:
部分)。嗯……我想我是在上面显示的Paste的未经验证部分中定义的(我没有创建此文件,我将尝试处理它,但在实际登录和使其工作时遇到问题)嗯…当我注册时,我得到了一个错误:ActionController:ModuleThat的未定义方法'action',这是因为你告诉rails你想从哪个控制器渲染哪个动作,比如:home#index,users#new或其他什么。嗯…你知道我应该怎么做来修复这个问题吗?我应该发布更多的代码吗?不,想想当用户进入网页时,你希望用户看到什么,然后用action和controller替换它。示例:您有一个静态页面索引视图。只需执行以下操作:根目录为:“静态页面#索引”或您需要的任何内容。好的-但是这个项目应该已经设置好可以工作了。我不知道为什么会有这样的问题?我当地的环境有问题吗?
root to: "admin/dashboard#index"
Rails.application.routes.draw do
  root to: 'controller#action'
  ActiveAdmin.routes(self)
    authenticated :user do
  ...
  end
end