2009-06-20 29 views
0

我最近开始使用Rails的“敏捷web开发”一书,在使用rails的一些早期经验但希望采用更加结构化的方法之后,由实用程序员开始。在我的控制器中似乎无法运行“脚手架:产品”

当他们要求我制作控制器管理员时,我很高兴跟随本书,因此我可以编辑已创建的标准CRUD产品模型。根据这本书,我应该添加'脚手架:产品'这一行到我的admin_controller,它应该像魅力一样运行。那么,我的轨道只会说:“AdminController:Class”的未定义方法`脚手架'。

我知道他在本书中使用了较老的rails版本,比如1.8或者其他东西,而且我知道如何运行一个普通的脚手架,但不知道如何让admin_controller继承产品中的所有juicy CRUD细节, 。我试图将所有视图和脚手架生成的控制器代码从product_controller复制到管理员,并且工作正常,但我真的很想知道正确的方法是什么。

我admin_controller:

class AdminController < ApplicationController 
scaffold:product 
end 

回答

2

你提到的功能,动态脚手架,已经在Rails中取出2

我建议使用常规的脚手架和从那里,如果你是新来的Rails 。一旦你获得了更多的经验,它将很容易迅速酿造出你自己的控制器动作。

有一些替代动态脚手架这可能有助于快速原型,或者如果你开发了很多类似的功能:

0

更好的方法时下是使用脚手架发生器而不是脚手架方法。当第一次开发轨道时,脚手架方法是一个令人印象深刻的展示,但它隐藏太多,而且无法修改所需的位。为了解决这个问题,脚手架是作为发电机完成的,因为它们暴露了代码,并且允许您更容易地进行编辑。然后将脚手架方法从Rails中移除以防止它被使用。