【问题标题】:Rails exclude folder from auto/eager loadRails 从自动/急切加载中排除文件夹
【发布时间】:2017-05-24 10:47:58
【问题描述】:

我想单独扩展我的 rails 应用程序的一些子部分并避免加载整个代码库。

为了举例,让我们考虑一个 APIv1 与一个 APIv2,但我也想扩展任何类/服务

是否可以从即时加载(生产)或自动加载(开发)中排除特定文件夹?

例如,

api-v1-productionenvironment 应该排除

controllers/api/v[^1]/**/*.rb

api-v2-productionenvironment 应该排除

controllers/api/v[^2]/**/*.rb

为了示例,我将 [^x] 作为除 x) 之外的所有内容的方便表示法

我知道可以添加一些自动加载/急切加载文件夹,但是排除一些呢? (特别是如果它们在 app/ 内,默认情况下会自动加载/急切加载)

我想避免在内存中加载太多我知道没有用的类/服务等

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5 autoload eager-loading


    【解决方案1】:

    我希望 3 年后您可能已经找到了解决方案。总之……

    你可以试试这个:

    • api-v1-production

    将此添加到您的config/environments/api-v1-production

    config.eager_load_paths -= ["#{config.root}/app/controllers/api/v[^2]"]
    
    • api-v2-production

    将此添加到您的config/environments/api-v2-production

    config.eager_load_paths -= ["#{config.root}/app/controllers/api/v[^2]"]
    

    希望它有效。

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多