在 Rails 5 中添加目录以自动重新加载
Add directory to auto-reload in Rails 5
版本:Rails5b3
我有一个位于 <rails root>/app/liquid
的文件夹。里面有更多目录和 .rb
文件。所有 .rb
文件都很简单 类,没有包含或要求
每次修改这个目录下的文件都要重新启动服务器很不方便,所以我希望这些类在每次刷新页面时自动重新加载。 config.eager_load_paths += ["#{Rails.root}/app/liquid"]
好像不行。
如有任何建议,我们将不胜感激!
编辑:澄清一下,app/liquid
中的文件会按预期自动加载和重新加载。但是,子目录中的任何文件(如 app/liquid/drops/*.rb)
会正确自动加载,但不会在页面刷新时自动重新加载
尝试切换 liquid 的 cache_classes 配置,这样 类 就不会缓存在您的开发环境中:
Liquid.cache_classes = false
来源:https://github.com/Shopify/liquid/wiki/liquid-for-programmers#caching-of-classes
我通过将 config.autoload_paths += Dir[ Rails.root.join('app', 'liquid', '**/',) ]
添加到 application.rb
解决了这个问题
版本:Rails5b3
我有一个位于 <rails root>/app/liquid
的文件夹。里面有更多目录和 .rb
文件。所有 .rb
文件都很简单 类,没有包含或要求
每次修改这个目录下的文件都要重新启动服务器很不方便,所以我希望这些类在每次刷新页面时自动重新加载。 config.eager_load_paths += ["#{Rails.root}/app/liquid"]
好像不行。
如有任何建议,我们将不胜感激!
编辑:澄清一下,app/liquid
中的文件会按预期自动加载和重新加载。但是,子目录中的任何文件(如 app/liquid/drops/*.rb)
会正确自动加载,但不会在页面刷新时自动重新加载
尝试切换 liquid 的 cache_classes 配置,这样 类 就不会缓存在您的开发环境中:
Liquid.cache_classes = false
来源:https://github.com/Shopify/liquid/wiki/liquid-for-programmers#caching-of-classes
我通过将 config.autoload_paths += Dir[ Rails.root.join('app', 'liquid', '**/',) ]
添加到 application.rb