diff --git a/lib/rodauth/rails/app.rb b/lib/rodauth/rails/app.rb index e8f5adb..05ac3d5 100644 --- a/lib/rodauth/rails/app.rb +++ b/lib/rodauth/rails/app.rb @@ -81,6 +81,7 @@ def rodauth(name = nil) if prefix.present? && remaining_path == path_info on prefix[1..-1] do super + pass end else super diff --git a/test/integration/configurations_test.rb b/test/integration/configurations_test.rb index 678c6ab..8c43ad0 100644 --- a/test/integration/configurations_test.rb +++ b/test/integration/configurations_test.rb @@ -7,9 +7,13 @@ class ConfigurationsTest < IntegrationTest assert_equal current_path, "/admin/login" end - test "prefix with custom routes" do - visit "/admin/custom" + test "prefix with custom Roda router" do + visit "/admin/custom1" + assert_equal "Custom admin route", page.html + end + test "prefix with custom Rails route" do + visit "/admin/custom2" assert_equal "Custom admin route", page.html end end diff --git a/test/rails_app/app/misc/rodauth_app.rb b/test/rails_app/app/misc/rodauth_app.rb index 16aad6c..0e2285a 100644 --- a/test/rails_app/app/misc/rodauth_app.rb +++ b/test/rails_app/app/misc/rodauth_app.rb @@ -28,6 +28,7 @@ class RodauthApp < Rodauth::Rails::App r.on("json") { r.rodauth(:json) } r.on("assets") { "" } + r.get("admin/custom1") { "Custom admin route" } if r.path == rails_routes.auth1_path rodauth.require_account diff --git a/test/rails_app/config/routes.rb b/test/rails_app/config/routes.rb index e9d4bc4..367f079 100644 --- a/test/rails_app/config/routes.rb +++ b/test/rails_app/config/routes.rb @@ -10,7 +10,7 @@ get :roda end - get "/admin/custom" => "admin/rodauth#custom" + get "/admin/custom2" => "admin/rodauth#custom" constraints Rodauth::Rails.authenticate do get "/authenticated" => "test#root"