Commit 70c9a846c33c5e7add9a05d4f66118cef2c1d815
Committed by
Eduardo Silva Araújo
1 parent
be176cdf
Exists in
colab
[Colab] Optional subdirectory route
Showing
2 changed files
with
14 additions
and
4 deletions
Show diff stats
app/controllers/application_controller.rb
... | ... | @@ -16,17 +16,25 @@ class ApplicationController < ActionController::Base |
16 | 16 | class << self |
17 | 17 | # This is necessary for correct devise routing with locales: https://github.com/plataformatec/devise/wiki/How-To:--Redirect-with-locale-after-authentication-failure |
18 | 18 | def default_url_options |
19 | - locale_options | |
19 | + default = {} | |
20 | + default.merge!(locale_options) | |
21 | + default.merge!(subdirectory_options) | |
20 | 22 | end |
21 | 23 | |
22 | 24 | def locale_options |
23 | 25 | { locale: I18n.locale } |
24 | 26 | end |
27 | + | |
28 | + def subdirectory_options | |
29 | + { subdirectory: 'mezuro' } | |
30 | + end | |
25 | 31 | end |
26 | 32 | |
27 | 33 | # This happens after the *_url *_path helpers |
28 | 34 | def default_url_options |
29 | - self.class.locale_options | |
35 | + default = {} | |
36 | + default.merge!(self.class.locale_options) | |
37 | + default.merge!(self.class.subdirectory_options) | |
30 | 38 | end |
31 | 39 | |
32 | 40 | protected | ... | ... |
config/routes.rb
1 | 1 | Rails.application.routes.draw do |
2 | - scope "mezuro" do | |
2 | + scope "/(:subdirectory)", subdirectory: /mezuro/ do | |
3 | 3 | scope "(:locale)", locale: /en|pt/ do |
4 | 4 | # We need to manually define OmniAuth routes since the automatic generation does not support the dynamic scope |
5 | 5 | devise_for :users, skip: :omniauth_callbacks |
... | ... | @@ -43,8 +43,10 @@ Rails.application.routes.draw do |
43 | 43 | post '/modules/:id/metric_history' => 'modules#metric_history', as: 'module_metric_history' |
44 | 44 | post '/modules/:id/tree' => 'modules#load_module_tree', as: 'module_tree' |
45 | 45 | |
46 | - root "home#index" | |
46 | + root "home#index", as: 'locale_root' | |
47 | 47 | end |
48 | + | |
49 | + root "home#index" | |
48 | 50 | end |
49 | 51 | |
50 | 52 | # See comment above for devise_for | ... | ... |