Add js-routes to use Route helpers in JavaScript
This commit is contained in:
1
Gemfile
1
Gemfile
@ -16,6 +16,7 @@ gem 'highline'
|
||||
gem 'i18n-js'
|
||||
gem 'ims-lti', '< 2.0.0'
|
||||
gem 'jbuilder'
|
||||
gem 'js-routes'
|
||||
gem 'kramdown'
|
||||
gem 'mimemagic'
|
||||
gem 'nokogiri'
|
||||
|
@ -216,6 +216,8 @@ GEM
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (6.0.1)
|
||||
railties (>= 3.2.16)
|
||||
js-routes (2.0.7)
|
||||
railties (>= 4)
|
||||
json (2.3.1)
|
||||
jwt (2.2.3)
|
||||
kaminari (1.2.1)
|
||||
@ -554,6 +556,7 @@ DEPENDENCIES
|
||||
i18n-js
|
||||
ims-lti (< 2.0.0)
|
||||
jbuilder
|
||||
js-routes
|
||||
kramdown
|
||||
listen
|
||||
mimemagic
|
||||
|
@ -39,3 +39,7 @@ import 'jquery-ui/themes/base/core.css'
|
||||
import 'jquery-ui/themes/base/resizable.css'
|
||||
import 'jquery-ui/themes/base/selectable.css'
|
||||
import 'jquery-ui/themes/base/sortable.css'
|
||||
|
||||
// Routes
|
||||
import * as Routes from 'routes.js.erb';
|
||||
window.Routes = Routes;
|
||||
|
1
app/javascript/routes.js.erb
Normal file
1
app/javascript/routes.js.erb
Normal file
@ -0,0 +1 @@
|
||||
<%= JsRoutes.generate %>
|
7
config/initializers/js_routes.rb
Normal file
7
config/initializers/js_routes.rb
Normal file
@ -0,0 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
JsRoutes.setup do |config|
|
||||
config.documentation = false
|
||||
config.prefix = Rails.application.config.relative_url_root
|
||||
config.url_links = true
|
||||
end
|
@ -7,6 +7,7 @@ github.com/rails/webpacker/blob/master/docs/webpack.md
|
||||
const { environment } = require('@rails/webpacker')
|
||||
const { merge } = require('webpack-merge')
|
||||
const webpack = require('webpack')
|
||||
const erb = require('./loaders/erb')
|
||||
|
||||
// Add an additional plugin of your choosing : ProvidePlugin
|
||||
environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
|
||||
@ -24,6 +25,8 @@ environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
|
||||
})
|
||||
)
|
||||
|
||||
environment.loaders.append('erb', erb)
|
||||
|
||||
const envConfig = module.exports = environment
|
||||
const aliasConfig = module.exports = {
|
||||
resolve: {
|
||||
|
16
config/webpack/loaders/erb.js
Normal file
16
config/webpack/loaders/erb.js
Normal file
@ -0,0 +1,16 @@
|
||||
module.exports = {
|
||||
test: /\.erb$/,
|
||||
enforce: "pre",
|
||||
exclude: /node_modules/,
|
||||
|
||||
use: [{
|
||||
loader: "rails-erb-loader",
|
||||
options: {
|
||||
runner: (/^win/.test(process.platform) ? "ruby " : "") + "bin/rails runner",
|
||||
env: {
|
||||
...process.env,
|
||||
DISABLE_SPRING: 1,
|
||||
},
|
||||
},
|
||||
}],
|
||||
}
|
@ -15,6 +15,7 @@
|
||||
"jstree": "^3.3.11",
|
||||
"opensans-webkit": "^1.1.0",
|
||||
"popper.js": "^1.16.1",
|
||||
"rails-erb-loader": "^5.5.2",
|
||||
"sortablejs": "^1.14.0",
|
||||
"underscore": "^1.13.1",
|
||||
"vis": "^4.21.0",
|
||||
|
13
yarn.lock
13
yarn.lock
@ -4272,6 +4272,11 @@ lodash.debounce@^4.0.8:
|
||||
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
|
||||
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
|
||||
|
||||
lodash.get@^4.0:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
|
||||
@ -5879,6 +5884,14 @@ querystringify@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
|
||||
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
|
||||
|
||||
rails-erb-loader@^5.5.2:
|
||||
version "5.5.2"
|
||||
resolved "https://registry.yarnpkg.com/rails-erb-loader/-/rails-erb-loader-5.5.2.tgz#db3fa8ac89600f09d179a1a70a2ca18c592576ea"
|
||||
integrity sha512-cjQH9SuSvRPhnWkvjmmAW/S4AFVDfAtYnQO4XpKJ8xpRdZayT73iXoE+IPc3VzN03noZXhVmyvsCvKvHj4LY6w==
|
||||
dependencies:
|
||||
loader-utils "^1.1.0"
|
||||
lodash.defaults "^4.2.0"
|
||||
|
||||
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
|
||||
|
Reference in New Issue
Block a user