路轨上红宝石的路由问题

时间:2011-05-09 20:55:30

标签: ruby-on-rails-3 routing

我是ruby on rails的新手。 我使用命令'rails generate controller Courses new'

然后,我用:

编辑了routes.rb文件
  resources :courses
  match '/courses', :to => 'courses#new'

当我访问http://0.0.0.0:3000/courses时。我收到一个错误:

未知行动

无法找到CoursesController的动作'index'。

我想我错过了一些东西。请帮忙

感谢。

3 个答案:

答案 0 :(得分:1)

该行

资源:课程为这样的课程生成路线:

/courses -> coursescontroller#index

/courses/:id -> coursescontroller#show
...

等等。这被称为“宁静路线”。

如果您不想将“courses.html”形式的网址指向您的课程控制者的“索引”操作,而是指向您的课程控制者的“新”操作(这将是非常不寻常的,由方式),只需从routes.rb。

中删除第一行

如果您想查看已定义的路线,请执行

rake routes
来自你的rails app目录的

答案 1 :(得分:0)

你可以改用它:

resources :courses, :except => :index
match '/courses', :to => 'courses#new'

except选项在控制器中采用您不想为其定义资源路由的符号或操作数组。在这种情况下,我们会关闭index操作的路由/courses/

接下来,我们定义为index操作定义的相同路线,但将其指向CoursesController#new

答案 2 :(得分:0)

将“匹配”行放在“资源”行之前。