是否有办法从application.rb执行此操作
编辑:顶部的简短答案
如果希望在每次运行生成器时都执行此操作,那么确实需要在application.rb文件中对其进行自定义。将此代码放入应用程序类定义内的文件中
config.generators do | g|
g、 查看规格错误
g、 helper_规格为false
终止
您还可以通过将一些选项传递到generator命令中来实现这一点。这个Railscast更详细地介绍了这个过程,但基本思想非常简单
Rails生成器可以有多种选择。通过运行rails g controller-h,可以看到控制器生成器的选项。假设您已经设置了Rspec,如果查看输出,您会注意到一个部分显示“Rspec选项”。看起来是这样的:
Rspec选项:
[--控制器规格]#指示何时生成控制器规格
#默认值:true
[--视图规格]#指示何时生成视图规格
#默认值:true
若要对这些布尔值求反,只需在名称前输入“否”。因此,如果您想要视图中没有规格的控制器,您可以这样称呼它:
rails g控制器Foobar索引显示新建-无视图规格
您将获得一个控制器,该控制器具有为您创建的正确视图和操作,但没有为您的视图指定规格
如果您正在使用scaffold生成器,同样的情况也适用。有一个--helper specs选项,因此如果您不想查看或使用helper specs,您可以运行:
rails g scaffold Foobar name:string--无帮助器规范--无视图规范