2010-04-15 68 views
0

我创建了一个控制器和一个模型。控制器被称为“管理员”,模型被称为“专辑”。我用适当的信息编辑了database.yml,并执行了rake db:migrate命令,它没有返回任何错误,并且在schema.rb中迁移了数据库。控制器内我写道:为什么脚手架不能在Ruby on Rails中工作?

class AdminController < ApplicationController 

    scaffold :album 

end 

接下来,我开始我的服务器和去http://localhost:3000/admin,但也看不到典型的CRUD页面,我得到以下错误:

app/controllers/admin_controller.rb:3 

Request 

Parameters: 

None 

Show session dump 

--- 
flash: !map:ActionController::Flash::FlashHash 

{}

Response 

Headers: 

{"cookie"=>[], 
"Cache-Control"=>"no-cache"} 

任何想法,为什么?

回答

0

嗯,

通常情况下,你将有一个控制器和一个模型称为管理员,同样的事情将是约相册,

看看这个快速屏幕蒙上了博客如何使用脚手架进行;

Creating a web-blog

2

这句法的脚手架已经被废弃了很长一段时间。如今,导轨(版本2.x)使用​​下面的方法脚手架的资源:

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

生成该脚手架视图(在应用程序/视图),所述控制器(应用程序/控制器),标准测试(测试/),最重要的是,制作脚手架所需的路线。

我相信铁轨开发团队带走了旧的语法(“支架:资源”),因为没有真正的应用程序将永远离开支架不变,即。你将永远需要某种定制。使用新的语法可以保持不变,但它也更容易定制。

如果你真的需要你的控制器被命名为管理员,可以生成脚手架之后更改文件的config/routes.rb中。但是,这没有任何意义:为什么创建新相册的URI被称为“/ admins/new”?

如果你想创建一个形象画册应用程序的管理区,你可能寻找命名空间(这样你就可以拥有“admin”的命名空间内的多个不同的资源,控制器和视图)。要创建管理员命名空间内的专辑资源,写:

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

在这种情况下,您的控制器将作为http://host/admin/albums访问。

0

脚本/生成命令似乎不工作,有人必须提供./script/generate,我认为它是一个linux目录问题,你必须明确地说你是从当前目录(./)开始。希望这可以帮助别人避免挠头

相关问题