Rails app running on Pow not reloading for changes in /lib directory
Asked Answered
G

1

5

After many googling I've tried adding both of these to my config and yet reloading doesn't happen:

config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]

I make changes to files under /lib but refreshing in Pow doesn't reload the changes

What am I missing?

Gause answered 16/10, 2012 at 8:17 Comment(2)
Are you refreshing the browser or restarting the app?Tallbot
@Tallbot refreshing, restarting it (say, by touch tmp/restart.txt) works of courseGause
E
7

You'll want to restart pow after changing files in /lib because Rails initializes objects here as it starts up and doesn't load them again after having started up (so changes while the server is up won't make a difference). To overcome this, you have a few options:

  1. You may want to look at using require_dependency.

  2. You can restart Pow by touching the restart.txt file: touch ~/.pow/restart.txt

  3. For a more convenient solution if you're changing your lib folder a lot, add anvil to handle your restarts easily.

  4. If you don't want to do this, just add your classes to the /app path into a new folder.

Enact answered 16/10, 2012 at 8:38 Comment(2)
But isn't that what autoload_paths is for? to tell rails what more to reload?Gause
That's to autoload not auto-reload. If you really want to, there's some hacks here: #3283155Enact

© 2022 - 2024 — McMap. All rights reserved.