使用rails路由问题

时间:2010-10-26 22:04:34

标签: ruby-on-rails routing

我刚刚开始使用rails,我有一个非常简单的案例。我有一个“家”控制器。此控制器中定义了一个操作“索引”。当我去〜/ home时,我收到一条错误信息:

uninitialized constant HomesController(我注意到了单数/复数)。

这是我没有得到的第一件事(我认为它会自动转到〜/ home / index)。

第二件事,如果我去~/home/edit(注意这个动作还不存在),我也得到: uninitialized constant HomesController 但是如果我去〜/ home / show(show也不存在),我会得到一个不同的错误信息:

No route matches "/home/show"

如何出于同样的原因(一个不间断的动作)获得2个不同的错误。这个常数有什么用呢?

谢谢

修改 我正在运行rails 3.0

这是我的routes.rb文件

Topnotch::Application.routes.draw do
  resources :subscriptions
  resource :home

  get "home/index"

  get "subscriptions/index"

  root :to => "home#index"
end

3 个答案:

答案 0 :(得分:1)

  1. 您必须将资源“home”添加到route.rb。
  2. 控制器被认为是复数。
  3. 如果您不熟悉rails,我建议您开始使用生成器 - 只需在项目文件夹中打开一个终端并输入“script / generate scaffold home”(在rails3中它将是“rails g home”)

答案 1 :(得分:1)

更改根路线如下: -

root:to => “舍#指数”。

您必须在路线中使用复数形式。

答案 2 :(得分:1)

原来,路线是正确的我只是没有正确使用它们! rake routes帮了解。