1
A
回答
4
我对这个任务
#lib/initializer_helpers.rb
module InitializerHelpers
def self.skip_console_rake_generators &block
skip(defined?(Rails::Console) || defined?(Rails::Generators) || File.basename($0) == "rake", &block)
end
def self.skip_rake_generators &block
skip(defined?(Rails::Generators) || File.basename($0) == "rake", &block)
end
def self.skip_generators &block
skip(defined?(Rails::Generators), &block)
end
def self.skip_console &block
skip(defined?(Rails::Console), &block)
end
private
def self.skip(condition, &block)
raise ArgumentError.new("no block given") if block.blank?
unless condition
yield
end
end
end
# use it
InitializerHelpers.skip_console do
# not executed in console
end
更新特殊助手:如果你只是提取这个想法宝石https://github.com/olegantonyan/initializer_helpers
1
你可以检查Rails的控制台定义:
run_code unless defined?(Rails::Console)
2
需要检查服务器是否在运行,您可以使用这一个
if defined?(Rails::Server)
# do something usefull
end
相关问题
- 1. Firebase Android - 跳过初始化
- 2. 结果没有初始化?
- 3. 如何在运行rake任务时跳过加载Rails初始化程序?
- 4. SparkContext没有SBT运行初始化后
- 5. 过滤器没有初始化的EntityManager
- 6. 在Rails初始化器运行之前运行rspec“之前”块
- 7. 类没有初始化器?
- 8. PHP初始化,如果没有设置
- 9. 如何关闭文件,如果我没有初始化它?
- 10. 如何初始化跳过列表?
- 11. 如何初始化图形?因为它说它没有初始化
- 12. 静态初始化块跳过
- 13. 初始化器在Rails中运行的频率如何?
- 14. Rails的初始化过程
- 15. 运行耙db:迁移没有一些初始化器
- 16. 如果已经初始化,通过shell重新初始化rbenv
- 17. skrollr.min.js没有初始化
- 18. 类AppDelegate没有初始化器
- 19. 如何防止初始化器在运行rails生成时运行
- 20. ObjectInputStream没有初始化
- 21. 类'ProductDetailViewController'没有初始化器
- 22. Rails初始化器在迁移数据库时运行
- 23. 的TextView没有初始化
- 24. Rails的初始化
- 25. 类'ViewController'没有初始化器
- 26. 初始化在运行时
- 27. 我的VC没有初始化器
- 28. JqGrid没有初始化
- 29. 初始化含有初始化列表
- 30. 类没有初始化