Rails controller caching when using docker container (dev)
I have docker running an app container (rails app) and a db container running postgres
I have volume mounted my local working directory to my app container so I can work locally and the changes reflected in the app container.
In doing this everything seems to work fine except I seem to get some strange caching behaviour on my controllers
get '/something', to: 'something#show'
class SomethingController < ApplicationController def show render text: "Hello 1" end end
When I go to myapp/something I get
Hello 1 perfect!
Then I edit my controller to:
class SomethingController < ApplicationController def show render text: "Hello 2" end end
When I go to myapp/something I still get
If I return a html view, it updates just fine, so why is my changes in my controller not being reflected?
The only way I can get these changes to reflect is by making a change in my routes file and saving, this seems to refresh whatever is being cached.
note: I am not caching in the browser, I have caching turned off and Im doing a hard reload each time.
Can anyone shed any light on this? Im trying to follow this tutorial: https://www.youtube.com/watch?v=NEdDa3Zqu7s&list=PLbG4OyfwIxjEe5Y3hQCiQjYnSgRH051iJ&index=3
One Solution collect form web for “Rails controller caching when using docker container (dev)”
How did you define your development.rb?
Make sure you have the caching options set to false:
config.reload_classes_only_on_change = false config.cache_classes = false
If this doesn’t work you might want to read the Rails docs about caching: