0

最近我为我的两个模型/控制器/视图搭建了脚手架,我们称它们为 xxx 和 yyy。现在我查看控制器文件,我什么也没看到!但它仍在运行,经过调查,我发现这是由于

继承的资源宝石

所以控制器目前看起来像这样

class xxx < InheritedResources::Base
end

所以如果我改变

InheritedResources::Base to ApplicationController 

就像我有其他控制器一样,它的行为会像普通控制器吗?我尝试查找文档,我被推荐到这里提问。

为这两个脚手架恢复正常控制器/模型的最佳方法是什么?

感谢您的时间和帮助。

4

2 回答 2

5

补充config/application.rb

#use rails scaffolding generator
config.app_generators.scaffold_controller = :scaffold_controller
于 2013-11-20T20:01:31.640 回答
0

当你使用InheritedResources时,gem 会注册一个控制器生成器,它会生成你的控制器定义。使用InheritedResources::Base的目的是清理您的控制器并将所有七个REST操作移动到一个公共类。如果扩展,则不需要定义以下任何方法InheritedResources::Base

index
new
create
edit
update
show
destroy

它们都是为您定义的。继续做一个测试,搭建一个资源并转到它的索引方法,添加一些记录,玩......

现在,如果您真的想回到旧的方式并让您的代码由捆绑的控制器生成器生成,inherited_resources请从您的 Gemfile 中删除bundle install,然后再次生成您的脚手架。

希望能帮助到你 (:

PS如果您决定使用InheritedResources(我建议您这样做),您可以覆盖您想要自定义的任何方法。看看文档,那里的一切都更清楚了。

于 2013-03-13T05:31:07.973 回答