【发布时间】:2011-05-13 05:24:14
【问题描述】:
有没有办法从 application.rb 做到这一点?
【问题讨论】:
标签: ruby-on-rails rspec
有没有办法从 application.rb 做到这一点?
【问题讨论】:
标签: ruby-on-rails rspec
编辑:顶部的简短回答
如果您想在每次运行生成器时执行此操作,您确实可以在 application.rb 文件中对其进行自定义。将此代码放在 Application 类定义内的文件中。
config.generators do |g|
g.view_specs false
g.helper_specs false
end
您也可以通过将一些选项传递给生成器命令来完成此操作。 ThisRailscast 详细介绍了这个过程,但基本思想非常简单。
Rails 生成器可以有多种选择。您可以通过运行rails g controller -h 查看控制器生成器的选项。假设您已经设置了 Rspec,如果您查看输出,您会注意到一个部分显示“Rspec 选项”。它看起来像这样:
Rspec options:
[--controller-specs] # Indicates when to generate controller specs
# Default: true
[--view-specs] # Indicates when to generate view specs
# Default: true
要否定这些布尔值,只需在名称前加上“否”即可传递它们。因此,如果您想要一个没有视图规范的控制器,您可以这样称呼它:
rails g controller Foobar index show new create --no-view-specs
您将获得一个控制器,其中包含为您创建的正确视图和操作,但没有针对您的视图的规范。
如果您使用scaffold 生成器,同样的情况也适用。有一个 --helper-specs 选项,所以如果你不需要视图或帮助规范,你可以运行:
rails g scaffold Foobar name:string --no-helper-specs --no-view-specs
【讨论】:
no- 添加到禁用它们的选项中。