我是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'。
我想我错过了一些东西。请帮忙
感谢。
答案 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)
将“匹配”行放在“资源”行之前。