2011-06-10 126 views
1

我的名字是胡安我来自西班牙,这是我的第一篇文章。谢谢。路由错误没有路由匹配“/ users/new”

我之后的第8章

我的问题在Ruby on Rails的教程迈克尔·哈特尔的是,创造这一章中注册用户的形式。

他说,行动去“行动= /用户”,但我的代码可以与萤火虫看到它的行动去:

action="https://stackoverflow.com/users/new".

然后,当我去点击注册按钮的动作去行动=“/用户/新”和下一个错误:

路由错误 没有路由匹配“/用户/新”

我没有rspec规范错误/或自动测试它的一切OK !!

你能帮我解决这个问题吗?该帮手使用了它的“form_for”

非常感谢!

+0

显示一些代码.. – 2011-06-10 15:28:41

+0

请更新您的问题并显示您的routes.rb文件和您的form_for代码。 – Brian 2011-06-10 16:01:31

回答

2

更新

确定。我已经检查了教程的代码。问题的根源在于你传递给form_for的对象。请检查您的users_controller的新动作是否包含此行:

@user = User.new 

此行创建一个新的AR对象,但不会将其保存到数据库。所以当你将它传递给form_for时,Rails知道它应该生成一个用于创建动作的表单(POST /用户)。

https://github.com/railstutorial/sample_app以下是教程应用程序的完整源代码。你可能会觉得它很有用。它有时会更新以修复错误和拼写错误。

还有最后一件事。你有没有尝试重新启动你的网络服务器?

+0

感谢您的回复。但是,我应该将代码更改为form_tag'/ users'。在那个文件中? 因为我在教程中看不到改变它的地方。 – hyperrjas 2011-06-10 18:31:37

+0

我已经更新了我的答案,请查看。如果它没有帮助,发布一些代码(视图,控制器,路线) - 也许有一个错字或什么的。 – bassneck 2011-06-10 20:26:58

+0

非常感谢我在代码中:@user =“User.new”,而不是@user = User.new在引号内。我是dork :( 问题已修复非常感谢Bassneck,Nick和All Stackoverflow:D – hyperrjas 2011-06-11 07:55:06

2

你有

resources :users 
在你的routes.rb

+0

是的,我有资源:config/routes.rb中的用户:D – hyperrjas 2011-06-10 18:12:39

相关问题