如何从继承资源的宝石



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

inherited_resources宝石

控制器现在是这样的

class xxx < InheritedResources::Base
end

所以如果我改变

InheritedResources::Base to ApplicationController 

如果我有其他控制器,它会像普通控制器一样吗?我试着查找文档,我被推荐到这里来问问题。

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

谢谢你的时间和帮助。

in config/application.rb add:

#use rails scaffolding generator
config.app_generators.scaffold_controller = :scaffold_controller

当您使用InheritedResources时,gem会注册一个控制器生成器来生成您的控制器定义。使用InheritedResources::Base的目的是清理控制器并将所有七个REST动作移动到一个公共类中。如果扩展InheritedResources::Base

,则不需要定义以下任何方法
index
new
create
edit
update
show
destroy

它们都是为你定义的。继续做一个测试,脚手架一个资源,去它的index方法,添加一些记录,玩…

现在,如果你真的想回到以前的方式,让你的代码由绑定的控制器生成器生成,从你的Gemfile中删除inherited_resources, bundle install,并再次生成你的支架。

希望能有所帮助(:

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

最新更新