Ruby on rails Can';t似乎跑';脚手架:产品&x27;在我的控制器中

Ruby on rails Can';t似乎跑';脚手架:产品&x27;在我的控制器中,ruby-on-rails,ruby,Ruby On Rails,Ruby,我最近开始读实用程序员写的《Rails的敏捷web开发》一书,之前我对Rails有过一些早期的经验,但希望采用更结构化的方法 当他们要求我做一个控制器管理员,这样我就可以编辑我已经创建的标准CRUD产品模型时,我很高兴地遵循这本书。根据这本书,我应该在我的管理员控制器中添加“scaffold:product”这一行,它应该像一个符咒一样运行。我的rails只说:“AdminController:Class的未定义方法`scaffold' 我知道他在书中使用了旧的rails版本,比如1.8或其他版

我最近开始读实用程序员写的《Rails的敏捷web开发》一书,之前我对Rails有过一些早期的经验,但希望采用更结构化的方法

当他们要求我做一个控制器管理员,这样我就可以编辑我已经创建的标准CRUD产品模型时,我很高兴地遵循这本书。根据这本书,我应该在我的管理员控制器中添加“scaffold:product”这一行,它应该像一个符咒一样运行。我的rails只说:“AdminController:Class的未定义方法`scaffold'

我知道他在书中使用了旧的rails版本,比如1.8或其他版本,我知道如何运行普通的脚手架,但不知道如何让admin_控制器继承产品中所有有趣的CRUD细节,就像books声明所建议的那样。我尝试将所有视图和scaffold生成的控制器代码从product_控制器复制到admin,效果很好,但我真的想知道这样做的正确方法是什么

我的管理员控制器:

class AdminController < ApplicationController
 scaffold:product
end
class AdminController
您提到的动态脚手架功能已在Rails 2中删除

如果您是Rails新手,我建议您使用常规脚手架并从那里开始。一旦你有了更多的经验,就可以很容易地快速编写自己的控制器操作

有一些动态脚手架的替代方案可能有助于快速原型制作,或者如果您开发了许多类似的功能:


现在更好的方法是使用脚手架生成器,而不是脚手架方法。在rails最初开发时,scaffold方法是一个令人印象深刻的展示,但它隐藏了太多内容,您无法仅修改所需的部分。为了解决这个问题,脚手架被改为生成器,因为它们公开了代码,并允许您更轻松地编辑代码。然后将脚手架从栏杆上移除,以防止其被使用