`default_controller_and_action':缺少:Ruby 3中的controller(ArgumentError)

时间:2012-11-10 20:17:43

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我正在创建一个网站,用户可以发布作业,用户可以登录,注册等。我创建了我的作业模型,并为登录/注册部分创建了我的用户模型。当我尝试加载rails服务器时,我不断收到此错误,无法弄清楚我做错了什么或如何修复。我最初尝试使用设计并创建用户模型,但有问题所以我删除了它的文件。我想知道我是否删除了某些内容,或者我是否遗漏了routes.rb文件中的内容。有人可以帮助或指出我正确的方向吗?我也会发布我的routes.rb文件。感谢任何指导,因为我还是铁杆新手。我添加到routes.rb文件的唯一内容是root:to => “会话#login”及其下方。我确定在创建模型和控制器时添加了其他信息。

/home/whitey7/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.8/lib/action_dispatch/ routing / mapper.rb:181:在`default_controller_and_action':missing:controller(ArgumentError)**

的routes.rb

Application.routes.draw do 
 get "sessions/login,"
 get "sessions/home,"
 get "sessions/profile,"
 get "sessions/setting"
 get "users/new"

 resources :jobs 



root :to => "jobs#index"
root :to => 'home/index'
 root :to => "sessions#login"
match "signup", :to => "users#new"
match "login", :to => "sessions#login"
match "logout", :to => "sessions#logout"
match "home", :to => "sessions#home"
match "profile", :to => "sessions#profile"
match "setting", :to => "sessions#setting"

3 个答案:

答案 0 :(得分:7)

我认为你在routes.rb中仍有一条无效的路由。请重新检查所有路线,相应的控制器和操作。还请分享完整的错误跟踪,这样我们就可以确定问题。

答案 1 :(得分:2)

请检查作业控制器是否仍然存在。因为这是路由声明中的第一个根指令(并且仍然有多个没有意义),Rails正在检查此根路由是否可用。似乎缺少作业控制器并导致此错误。

答案 2 :(得分:1)

首先,检查Rails routing文档。我认为您收到此错误是因为您无法定义路由文件。我在你的路线文件中发现的问题是: -

一个。路径文件中有三个不同的根。

root :to => "jobs#index"
root :to => 'home/index'
 root :to => "sessions#login"

湾您正多次定义相同的路线。

 get "sessions/login,"
 get "sessions/home,"
 get "sessions/profile,"
 get "sessions/setting"
 get "users/new"

match "signup", :to => "users#new"
match "login", :to => "sessions#login"
match "home", :to => "sessions#home"
match "profile", :to => "sessions#profile"
match "setting", :to => "sessions#setting"

解决方案可能如下: -

一个。首先修复根路径。无论是作业索引还是归属索引或会话登录,您要创建root的路径。

湾我认为您正在尝试定义您的路线

match "signup", :to => "users#new", via: :get
match "login", :to => "sessions#login", via: :get
match "home", :to => "sessions#home", via: :get
match "profile", :to => "sessions#profile", via: :get
match "setting", :to => "sessions#setting", via: :get