最近我在我的两个模型/控制器/视图中使用脚手架,让我们称之为xxx和yyy。现在我看一下控制器文件,我什么都看不见!但它仍在运作,经过调查我发现这是由于
所以控制器现在看起来像这样
class xxx < InheritedResources::Base
end
所以,如果我改变
InheritedResources::Base to ApplicationController
像我有其他控制器一样,它会像普通控制器一样吗?我试着查看文档,我在这里提到了问题。
为这两个脚手架恢复正常控制器/模型的最佳方法是什么?
感谢您的时间和帮助。
答案 0 :(得分:4)
在config/application.rb
中添加:
#use rails scaffolding generator
config.app_generators.scaffold_controller = :scaffold_controller
答案 1 :(得分:0)
当你使用InheritedResources
时,gem注册一个控制器生成器,它只生成你的控制器定义。使用InheritedResources::Base
的目的是清理控制器并将所有七个REST操作移动到一个公共类。如果扩展InheritedResources::Base
index
new
create
edit
update
show
destroy
他们都是为你定义的。继续做一个测试,脚手架资源并转到它的索引方法,添加一些记录,玩转......
现在,如果你真的想回到原来的方式并让捆绑的控制器生成器生成代码,请从你的Gemfile inherited_resources
中删除bundle install
,然后再次生成你的脚手架。
希望它有所帮助(:
P.S。如果您决定使用InheritedResources
(我建议您这样做),您可以覆盖您想要自定义的任何方法。有一个look at the docs,那里的一切都更清晰。