Ruby on rails 为什么脚手架不能在RubyonRails中工作?

Ruby on rails 为什么脚手架不能在RubyonRails中工作?,ruby-on-rails,scaffolding,Ruby On Rails,Scaffolding,我创建了一个控制器和一个模型。控制器称为“管理员”,模型称为“相册”。我用正确的信息编辑了database.yml,并执行了rake db:migrate命令,该命令没有返回任何错误,并且在schema.rb内迁移了数据库。在控制器内,我写道: class AdminController < ApplicationController scaffold :album end {} Response Headers: {"cookie"=>[], "Cache-Con

我创建了一个控制器和一个模型。控制器称为“管理员”,模型称为“相册”。我用正确的信息编辑了database.yml,并执行了rake db:migrate命令,该命令没有返回任何错误,并且在schema.rb内迁移了数据库。在控制器内,我写道:

class AdminController < ApplicationController

  scaffold :album

end
{}

Response

Headers: 

{"cookie"=>[],
 "Cache-Control"=>"no-cache"}
知道为什么吗?

通常你会有一个控制器和一个名为Admin的模型,相册也是一样

看看这个快速的屏幕展示,博客是如何使用脚手架完成的


脚手架的语法已经被弃用了很长一段时间。如今,rails(版本2.x)使用以下方法构建资源:

script/generate scaffold Album title:string date:date ...
这将生成脚手架视图(在应用程序/视图中)、控制器(应用程序/控制器)、标准测试(在测试/中)以及最重要的使脚手架工作所需的路线

我相信rails开发团队去掉了旧的语法(“scaffold:resource”),因为任何真正的应用程序都不会让scaffold保持不变,也就是说,您总是需要某种定制。有了新的语法,您可以保持原样,但它也更易于自定义

如果确实需要将控制器命名为admins,可以在生成脚手架后更改文件config/routes.rb。但这毫无意义:为什么要将创建新相册的URI命名为“/admins/new”

如果您试图为一个图像相册应用程序创建一个管理区域,那么您可能正在寻找名称空间(因此您可以在“管理”名称空间中拥有多个不同的资源、控制器和视图)。要在管理命名空间中创建相册资源,请编写:

script/generate scaffold Admin/Album title:string date:date

在这种情况下,您的控制器将可以访问。

脚本/generate命令似乎不起作用,必须有人提供。/script/generate,我认为这是linux目录问题,您必须明确地说您是从当前目录(./)开始的。希望这能帮助别人避免搔头

script/generate scaffold Admin/Album title:string date:date