我正在创建一个网站,用户可以发布作业,用户可以登录,注册等。我创建了我的作业模型,并为登录/注册部分创建了我的用户模型。当我尝试加载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"
答案 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