我是在軌道上紅寶石的新手。 我使用的命令「軌道生成控制器課程新」與軌道上的紅寶石路由問題
然後,我編輯的routes.rb文件:
resources :courses
match '/courses', :to => 'courses#new'
當我訪問http://0.0.0.0:3000/courses。我得到一個錯誤:
未知的動作
行動「索引」不能爲CoursesController找到。
我想我錯過了一些東西。請幫忙
謝謝。
我是在軌道上紅寶石的新手。 我使用的命令「軌道生成控制器課程新」與軌道上的紅寶石路由問題
然後,我編輯的routes.rb文件:
resources :courses
match '/courses', :to => 'courses#new'
當我訪問http://0.0.0.0:3000/courses。我得到一個錯誤:
未知的動作
行動「索引」不能爲CoursesController找到。
我想我錯過了一些東西。請幫忙
謝謝。
線
資源:課程生成路線,像這樣的課程:
/courses -> coursescontroller#index
/courses/:id -> coursescontroller#show
...
等。這被稱爲「寧靜路線」。
如果您不想將表單'courses.html'的網址指向您的課程管理員的'索引'操作,而是指向您的課程管理員的'新'操作(這將非常不尋常,通過方式),只需從您的routes.rb中刪除第一行。
如果你想看到你定義什麼路線,只是做
rake routes
從您的Rails應用程序目錄。
你也可以使用這樣的:
resources :courses, :except => :index
match '/courses', :to => 'courses#new'
的except
選項接受一個符號或者你不想定義資源將被控制器操作的數組。在這種情況下,我們關閉index
操作的路由,/courses/
。
接下來,我們爲index
操作定義相同的路線,但將其指向CoursesController#new
。
將您的「匹配」行放在「資源」行之前。
你可以去命令提示符下的rails文件夾並運行'rake routes'來查看現有的路由。你能在這裏粘貼輸出嗎?我的猜測是'新'默認情況下需要一個ID來處理。但還沒有在軌道3上工作。 – Shaunak 2011-05-09 21:04:19