使用docker容器(dev)时Rails控制器缓存

Bra*_*rad 3 ruby ruby-on-rails docker

我有一个运行app容器(rails app)的docker和一个运行postgres的db容器

我有卷将我的本地工作目录挂载到我的应用程序容器,因此我可以在本地工作,并且更改反映在应用程序容器中.

在这样做的一切似乎工作正常,除了我似乎在我的控制器上得到一些奇怪的缓存行为

例如

路线:

get '/something', to: 'something#show'
Run Code Online (Sandbox Code Playgroud)

调节器

class SomethingController < ApplicationController
    def show
        render text: "Hello 1"
    end
end
Run Code Online (Sandbox Code Playgroud)

当我去myapp /的东西时,我会变得Hello 1完美!

然后我编辑我的控制器:

class SomethingController < ApplicationController
    def show
        render text: "Hello 2"
    end
end
Run Code Online (Sandbox Code Playgroud)

当我去myapp /我仍然得到的东西Hello 1

如果我返回一个html视图,它会更新,所以为什么我的控制器中的更改没有被反映出来?

我能够反映这些变化的唯一方法是在路由文件中进行更改并保存,这似乎刷新了缓存的内容.

注意:我没有在浏览器中缓存,我关闭了缓存,我每次都在重新加载.

任何人都可以对此有所了解吗?我试着按照这个教程:https://www.youtube.com/watch?v = NEWDa3Zqu7s&list = PLbG4OyfwIxjEe5Y3hQCiQjYnSgRH051iJ&index = 3

谢谢

Fre*_*nus 6

你是如何定义你的development.rb的?

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

config.reload_classes_only_on_change = false
config.cache_classes = false
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可能需要阅读有关缓存的Rails文档:http: //guides.rubyonrails.org/caching_with_rails.html