2011-04-29 145 views
2

我开始了一个干净的rails应用,安装并迁移了devise gem以及我自己的几个简单模型。设计用户控制器方法不起作用(当我到localhost:3000/users/new时,我得到一个错误页面,但当我到/ users/sign_up时,没有。当我运行rake --trace路线,我得到下面的输出:耙路由因“缺少动作”而失败

(在/用户/添/编码/ rails_projects/libertyhive)
**调用路由(FIRST_TIME)
**调用环境(FIRST_TIME)
**执行环境
rake中止!
丢失:动作
/Users/tim/.rvm/gems/[email protected]/gems/actionpack-3.0.4/lib/action_dispatch/routing/mapper.rb:167:in`default_controller_and_action '

/Users/tim/.rvm/gems/[email protected]/gems/actionpack-3.0.4/lib/action_dispatch/routing/mapper.rb:68:in`normalize_options!'

,并与/Users/tim/.rvm/gem/[email protected]/gems的更多的行继续/ ...

我不知道如何调试这一点。我对轨道很陌生。 Michael Hartl编写了Rails 3 Tutorial,它帮助我完成了大多数轨道的常规设置和配置。

任何想法是什么问题?

回答

1

默认情况下,Rails使用RESTful接口来路由URL。这意味着没有称为:sign_up的操作。

用户注册的网址是:

  1. 形式来添加一个新用户:http://localhost:3000/users/new(GET请求)
  2. 当您提交的形式为新用户:http://localhost:3000/users(POST请求)
+0

好的,谢谢。我不知道为什么我的根目录指向我的routes.rb文件中的“sign_up”。那是愚蠢的。不清楚你是怎么知道的。也许只是巧合?因为/ users/sign_up确实有效,所以路线设计会提供注册。 – 2011-04-29 16:26:45

相关问题