添加路由到资源而不会丢失默认路由

时间:2012-10-11 20:07:16

标签: ruby-on-rails-3

我对rails中的路由感到困惑。我在名为UsersController的控制器上有自定义操作,例如“login”。

在我的routes.rb中如果我这样做:

resource :users do
  collection do
    get  'login'
    post 'login'
    get  'logout'
  end
end

我可以链接到UsersController的操作登录没问题但是然后转到 localhost:3000 / users 给了我错误:

  

找不到没有ID的用户

但如果我这样做

  

资源:用户

localhost:3000 / users 为我提供了预期的列表。

我尝试将两者都放在一起,但只有文件中存在的第一个版本才能按预期工作。

如何将路线添加到默认路线?

1 个答案:

答案 0 :(得分:0)

你的路线上有拼写错误。

尝试resources而非resource。 (resource不会创建#index操作)

看看the manual