我刚开始研究Ruby on Rails并且一直在阅读Dave Thomas和DHH的“使用Rails进行敏捷Web开发”。这本书是从2005年开始的,因此很多代码和终端命令已经过时,但我已经设法到达第57页而没有太多麻烦。在第57页,我使用Rails创建了一个名为“depot”的应用程序,现在他们希望我通过发出以下命令来使用其脚手架功能:
ruby script/generate scaffold Product Admin
由于这不起作用,我认为程序在过去七年内略有改变,所以在我(成功)取消此命令之前,我没有花太多谷歌搜索:
rails generate scaffold Product Admin
这似乎有效。至少我得到了终端中带有绿色“创建”字样的列表,并且我的应用程序中添加了一个新的控制器和模型。现在,步骤是启动服务器(简单)并转到localhost:3000/admin
,但现在我得到了臭名昭着的No route matches [GET] "/admin"
,我不知道为什么。我已经从routes.rb取消注释match ':controller(/:action(/:id))(.:format)'
,但它仍然会抛出相同的错误。
我错过了什么?
答案 0 :(得分:2)
您可能只需要添加到routes.rb:
get '/admin'
或
match '/admin' => 'admin#index'
答案 1 :(得分:0)
您使用scaffold
创建产品,管理员,默认网址为localhost:3000/products
,复数
此外,我强烈建议您获取本书的最新版本。