轨道上的红宝石中的路由问题



我是 Ruby on Rails 的新手。我使用了命令"轨道生成控制器课程新"

然后,我用以下命令编辑了routes.rb文件:

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

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

未知操作

找不到课程控制器的操作"索引"。

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

谢谢。

资源 :课程

为课程生成如下路线:

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

等等。这被称为"休息路线"。

如果您不想将表单"courses.html"的 url 定向到课程控制器的"索引"操作,而是定向到课程控制器的"新"操作(顺便说一下,这是非常不寻常的),只需从 routes.rb 中删除第一行。

如果你想看看你定义了什么路由,只需做

rake routes

从您的 Rails 应用程序目录。

你可以改用这个:

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

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

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

将"匹配"行放在"资源"行之前。

相关内容

  • 没有找到相关文章

最新更新