我希望我的一个初始值设定项(config/initializers/)中的代码只在:development环境下运行,而不是在:test:production环境下运行.最好的方法是什么?

将其粘贴到config/environments/test.rb似乎不干净,我不太喜欢将整个初始值设定项文件包装在if Rails.env == 'development' do ... end语句中.有什么标准的方法可以做到这一点吗?

(背景:为了加快测试加载时间,我试图将咖啡师gem移动到Gemfile:development组中,但config/initializers/barista_config.rb呼叫Barista.configure,所以现在它在测试(和生产)模式下被阻塞.)

推荐答案

我很确定你只有两个 Select ,一个是把配置代码放入config/environments/development.rb,另一个是用if块包装初始化代码.不过,你可以通过做if Rails.env.development?来收紧第二个选项.

Ruby-on-rails相关问答推荐

Rails 7.1解决冲突的Zeitwerk Inflection规则

安装特定版本的Ruby时出现问题(OpenSSL问题)

Rails 7.0.4 和 link_to 的数据确认不起作用

如何在哪里查询 Rails 模型中定义的方法

Rails 3 应用程序的 MySQL 集群 (NDB) 与 MySQL 复制 (InnoDB):优点/缺点?

在哈姆尔与当地人进行局部渲染?

Rails 是否带有未授权异常?

为 ActionMailer 渲染不同的视图(模板)

Rails:如何访问 RESTful 助手?

如何在两个日期之间生成随机日期和时间?

从子类中的重载方法调用基类方法

搭建脚手架时建立关系

mongoid 中 embeds_many 和 has_many 的区别

如何在我的 Gemfile 中找到未使用的Ruby

如何在 Rails 应用程序中使用长 id?

如何找出现有 Rails 应用程序基于哪个 Rails 版本?

如何在 Rails ActiveRecord 中指定日期小于今天的条件

submit_tag rails 表单中的 bootstrap 图标

如何在两个字段上对 ruby​​/rails 进行排序?

Ruby 中有与 slice 函数相反的函数吗?