1

我刚开始研究 Ruby on Rails,并且一直在阅读 Dave Thomas 和 DHH 的“Agile Web Development with Rails”。这本书是 2005 年的,所以很多代码和终端命令都已经过时了,但我已经成功地达到了第 57 页,没有太多麻烦。在第 57 页,我使用 Rails 创建了一个名为“depot”的应用程序,现在他们希望我通过发出以下命令来使用它的脚手架功能:

ruby script/generate scaffold Product Admin

由于这不起作用,我认为该程序在过去七年中略有变化,因此在我(成功)触发此命令之前并没有花费我太多的 Google 搜索:

rails generate scaffold Product Admin

这似乎奏效了。至少我在终端中得到了带有绿色“创建”字样的列表,并且一个新的控制器和模型被添加到我的应用程序中。现在,步骤是启动服务器(简单)并转到localhost:3000/admin但现在我得到了臭名昭著的东西No route matches [GET] "/admin",我不知道为什么。我match ':controller(/:action(/:id))(.:format)'已从 routes.rb 中取消注释,但它仍然会引发相同的错误。

我错过了什么?

4

2 回答 2

2

您可能只需要添加到您的 routes.rb 中:

get '/admin'

或者

match '/admin' => 'admin#index'
于 2012-11-15T15:36:47.340 回答
0

您用于scaffold创建产品,管理员,您的默认 url 是localhost:3000/products复数

另外,我强烈建议你获得这本书的最新版本。

于 2012-11-15T16:30:30.770 回答