JsRoutesWatcher
Plugin for Ruby on Rails which utilise js-routes gem to work with webpacker.
Using modern JS-frameworks such as Vue or React, you have to move all rails-generated routes to javascript. Then you'll be able to do this:
const login_path = Routes.api_login_path()
js-routes gem gives you the ability to export rails routes to standalone js-file.
But how to do this automatically? There's gem you're watching on comes to play.
Every time when config/routes.rb
is updated Guard
task will regenerate app/javascript/packs/routes.js
file. And all you have to do – is to import it in your project js-packs.
import './routes.js'
// Then
Routes.api_login_path()
Installation
All you need to start using plugin is to:
- Install gem. Add this line to your application's Gemfile:
gem 'js_routes_watcher', github: "codemotion/js_routes_watcher"
And then execute:
$ bundle
- Create
Guardfile
in the root of the project and fill it with:
guard 'rake', :task => 'js_routes_watcher:generate' do
watch(%r{^config/routes.rb})
end
And then save file.
-
Be shure what you're using webpacker gem and starting it with Foreman or Overmind.
-
Procfile
must have the following line to startGuard
task in background:
guard: bundle exec guard
Contributing
You're free to contribute via pull requests.
License
The gem is available as open source under the terms of the MIT License.