Ruby on rails 使用docker容器(dev)时的Rails控制器缓存

Ruby on rails 使用docker容器(dev)时的Rails控制器缓存,ruby-on-rails,ruby,docker,Ruby On Rails,Ruby,Docker,我让docker运行一个应用程序容器(rails应用程序)和一个运行postgres的db容器 我已将我的本地工作目录卷装到我的应用程序容器中,以便我可以在本地工作,并在应用程序容器中反映更改 在这样做的过程中,除了我的控制器上出现了一些奇怪的缓存行为外,一切似乎都正常工作 比如说 路线: get '/something', to: 'something#show' 控制器 class SomethingController < ApplicationController def

我让docker运行一个应用程序容器(rails应用程序)和一个运行postgres的db容器

我已将我的本地工作目录卷装到我的应用程序容器中,以便我可以在本地工作,并在应用程序容器中反映更改

在这样做的过程中,除了我的控制器上出现了一些奇怪的缓存行为外,一切似乎都正常工作

比如说

路线:

get '/something', to: 'something#show'
控制器

class SomethingController < ApplicationController
    def show
        render text: "Hello 1"
    end
end
当我转到myapp/某个东西时,我仍然会看到
Hello 1

如果我返回一个html视图,它会很好地更新,那么为什么我在控制器中的更改不会被反映出来呢

我能让这些更改反映出来的唯一方法是在我的路由文件中进行更改并保存,这似乎可以刷新正在缓存的任何内容

注意:我没有在浏览器中进行缓存,我已经关闭了缓存,每次我都在进行硬加载

有人能解释一下吗?我正在努力学习本教程:


谢谢你如何定义你的development.rb

确保将缓存选项设置为false:

config.reload_classes_only_on_change = false
config.cache_classes = false
如果这不起作用,您可能需要阅读有关缓存的Rails文档:

Frenus,你是个传奇人物。非常感谢你。我有
config.cache\u classes=false
但没有
config.reload\u classes\u only\u on\u change=false
这似乎解决了问题。
config.reload_classes_only_on_change = false
config.cache_classes = false