我刚开始学习Ruby / Rails,接下来是一些指南和视频。基本上,从我收集的内容来看,rails的意思是假定默认值,并将它们隐藏在幕后,然后当你想要改变功能时。
当我创建一个新项目时,我注意到ApplicationController中的“protect_from_forgery”行。当我在IDE中创建项目时,为什么会在文件内部创建这个项目,而不是在超类中的幕后/默认情况下保留默认值?对我所读过的内容似乎有点反实践?
答案 0 :(得分:3)
我认为答案是你需要知道默认情况下csrf保护是开箱即用的。这只是一种确保您了解它的方法,以防您在某些情况下需要禁用它。如果它被隐藏在幕后,并且你想为某些动作禁用它,你必须先去挖掘并找出如何启用csrf保护。这是Rails说'看这是重要的,如果你想要除了默认行为之外,这里就是你开始的地方!'