mikker / passwordless

🗝 Authentication for your Rails app without the icky-ness of passwords
MIT License
1.26k stars 87 forks source link

How to set routes with namespaces? #85

Closed typhoon2099 closed 4 years ago

typhoon2099 commented 4 years ago

I'm trying to add passwordless routes to a API with a v1 namespace attached to my Users model, but running into errors:

routes.rb:

Rails.application.routes.draw do
  concern :api_base do
    passwordless_for :users, at: '/'

    resources :users, only: [:create]
  end

  namespace :v1 do
    concerns :api_base
  end
end

Response:

POST http://127.0.0.1:3000/v1/sign_in

HTTP/1.1 500 Internal Server Error
Content-Type: application/json; charset=UTF-8
X-Request-Id: 4da1b92e-4761-4e68-b0fc-b414b8b8203f
X-Runtime: 0.186245
Content-Length: 21664

{
  "status": 500,
  "error": "Internal Server Error",
  "exception": "#<NoMethodError: undefined method `users_path' for #<Module:0x0000558ec65c08f0>>",
  "traces": {
    "Application Trace": [],
    "Framework Trace": [
      {
        "exception_object_id": 32260,
        "id": 0,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:687:in `block in define_generate_prefix'"
      },
      {
        "exception_object_id": 32260,
        "id": 1,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/routes_proxy.rb:40:in `token_sign_in_url'"
      },
      {
        "exception_object_id": 32260,
        "id": 2,
        "trace": "passwordless (fd1fef1088da) app/mailers/passwordless/mailer.rb:14:in `magic_link'"
      },
      {
        "exception_object_id": 32260,
        "id": 3,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:196:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 4,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 5,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 6,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:41:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 7,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:136:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 8,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:25:in `block in process'"
      },
      {
        "exception_object_id": 32260,
        "id": 9,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:17:in `handle_exceptions'"
      },
      {
        "exception_object_id": 32260,
        "id": 10,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:24:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 11,
        "trace": "actionview (6.0.2.2) lib/action_view/rendering.rb:39:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 12,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/base.rb:637:in `block in process'"
      },
      {
        "exception_object_id": 32260,
        "id": 13,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `block in instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 14,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 15,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 16,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/base.rb:636:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 17,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:123:in `block in processed_mailer'"
      },
      {
        "exception_object_id": 32260,
        "id": 18,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:122:in `tap'"
      },
      {
        "exception_object_id": 32260,
        "id": 19,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:122:in `processed_mailer'"
      },
      {
        "exception_object_id": 32260,
        "id": 20,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:113:in `deliver_now'"
      },
      {
        "exception_object_id": 32260,
        "id": 21,
        "trace": "passwordless (fd1fef1088da) lib/passwordless.rb:24:in `block (2 levels) in <module:Passwordless>'"
      },
      {
        "exception_object_id": 32260,
        "id": 22,
        "trace": "passwordless (fd1fef1088da) app/controllers/passwordless/sessions_controller.rb:28:in `create'"
      },
      {
        "exception_object_id": 32260,
        "id": 23,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 24,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:196:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 25,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/rendering.rb:30:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 26,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 27,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 28,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:41:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 29,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/rescue.rb:22:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 30,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 31,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `block in instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 32,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 33,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 34,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 35,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 36,
        "trace": "activerecord (6.0.2.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 37,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:136:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 38,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal.rb:191:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 39,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal.rb:252:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 40,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:51:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 41,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 42,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 43,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `each'"
      },
      {
        "exception_object_id": 32260,
        "id": 44,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 45,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:837:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 46,
        "trace": "railties (6.0.2.2) lib/rails/engine.rb:526:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 47,
        "trace": "railties (6.0.2.2) lib/rails/railtie.rb:190:in `public_send'"
      },
      {
        "exception_object_id": 32260,
        "id": 48,
        "trace": "railties (6.0.2.2) lib/rails/railtie.rb:190:in `method_missing'"
      },
      {
        "exception_object_id": 32260,
        "id": 49,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'"
      },
      {
        "exception_object_id": 32260,
        "id": 50,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:48:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 51,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 52,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `each'"
      },
      {
        "exception_object_id": 32260,
        "id": 53,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 54,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:837:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 55,
        "trace": "rack (2.2.2) lib/rack/etag.rb:27:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 56,
        "trace": "rack (2.2.2) lib/rack/conditional_get.rb:40:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 57,
        "trace": "rack (2.2.2) lib/rack/head.rb:12:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 58,
        "trace": "activerecord (6.0.2.2) lib/active_record/migration.rb:567:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 59,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'"
      },
      {
        "exception_object_id": 32260,
        "id": 60,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 61,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 62,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 63,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 64,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 65,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 66,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:38:in `call_app'"
      },
      {
        "exception_object_id": 32260,
        "id": 67,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:26:in `block in call'"
      },
      {
        "exception_object_id": 32260,
        "id": 68,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:80:in `block in tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 69,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:28:in `tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 70,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:80:in `tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 71,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:26:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 72,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 73,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 74,
        "trace": "rack (2.2.2) lib/rack/runtime.rb:22:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 75,
        "trace": "activesupport (6.0.2.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 76,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 77,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/static.rb:126:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 78,
        "trace": "rack (2.2.2) lib/rack/sendfile.rb:110:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 79,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/host_authorization.rb:83:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 80,
        "trace": "railties (6.0.2.2) lib/rails/engine.rb:526:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 81,
        "trace": "puma (4.3.3) lib/puma/configuration.rb:228:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 82,
        "trace": "puma (4.3.3) lib/puma/server.rb:682:in `handle_request'"
      },
      {
        "exception_object_id": 32260,
        "id": 83,
        "trace": "puma (4.3.3) lib/puma/server.rb:472:in `process_client'"
      },
      {
        "exception_object_id": 32260,
        "id": 84,
        "trace": "puma (4.3.3) lib/puma/server.rb:328:in `block in run'"
      },
      {
        "exception_object_id": 32260,
        "id": 85,
        "trace": "puma (4.3.3) lib/puma/thread_pool.rb:134:in `block in spawn_thread'"
      }
    ],
    "Full Trace": [
      {
        "exception_object_id": 32260,
        "id": 0,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:687:in `block in define_generate_prefix'"
      },
      {
        "exception_object_id": 32260,
        "id": 1,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/routes_proxy.rb:40:in `token_sign_in_url'"
      },
      {
        "exception_object_id": 32260,
        "id": 2,
        "trace": "passwordless (fd1fef1088da) app/mailers/passwordless/mailer.rb:14:in `magic_link'"
      },
      {
        "exception_object_id": 32260,
        "id": 3,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:196:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 4,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 5,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 6,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:41:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 7,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:136:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 8,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:25:in `block in process'"
      },
      {
        "exception_object_id": 32260,
        "id": 9,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:17:in `handle_exceptions'"
      },
      {
        "exception_object_id": 32260,
        "id": 10,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/rescuable.rb:24:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 11,
        "trace": "actionview (6.0.2.2) lib/action_view/rendering.rb:39:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 12,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/base.rb:637:in `block in process'"
      },
      {
        "exception_object_id": 32260,
        "id": 13,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `block in instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 14,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 15,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 16,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/base.rb:636:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 17,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:123:in `block in processed_mailer'"
      },
      {
        "exception_object_id": 32260,
        "id": 18,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:122:in `tap'"
      },
      {
        "exception_object_id": 32260,
        "id": 19,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:122:in `processed_mailer'"
      },
      {
        "exception_object_id": 32260,
        "id": 20,
        "trace": "actionmailer (6.0.2.2) lib/action_mailer/message_delivery.rb:113:in `deliver_now'"
      },
      {
        "exception_object_id": 32260,
        "id": 21,
        "trace": "passwordless (fd1fef1088da) lib/passwordless.rb:24:in `block (2 levels) in <module:Passwordless>'"
      },
      {
        "exception_object_id": 32260,
        "id": 22,
        "trace": "passwordless (fd1fef1088da) app/controllers/passwordless/sessions_controller.rb:28:in `create'"
      },
      {
        "exception_object_id": 32260,
        "id": 23,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 24,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:196:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 25,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/rendering.rb:30:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 26,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 27,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 28,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/callbacks.rb:41:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 29,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/rescue.rb:22:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 30,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 31,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `block in instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 32,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 33,
        "trace": "activesupport (6.0.2.2) lib/active_support/notifications.rb:180:in `instrument'"
      },
      {
        "exception_object_id": 32260,
        "id": 34,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 35,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 36,
        "trace": "activerecord (6.0.2.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'"
      },
      {
        "exception_object_id": 32260,
        "id": 37,
        "trace": "actionpack (6.0.2.2) lib/abstract_controller/base.rb:136:in `process'"
      },
      {
        "exception_object_id": 32260,
        "id": 38,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal.rb:191:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 39,
        "trace": "actionpack (6.0.2.2) lib/action_controller/metal.rb:252:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 40,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:51:in `dispatch'"
      },
      {
        "exception_object_id": 32260,
        "id": 41,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 42,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 43,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `each'"
      },
      {
        "exception_object_id": 32260,
        "id": 44,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 45,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:837:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 46,
        "trace": "railties (6.0.2.2) lib/rails/engine.rb:526:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 47,
        "trace": "railties (6.0.2.2) lib/rails/railtie.rb:190:in `public_send'"
      },
      {
        "exception_object_id": 32260,
        "id": 48,
        "trace": "railties (6.0.2.2) lib/rails/railtie.rb:190:in `method_missing'"
      },
      {
        "exception_object_id": 32260,
        "id": 49,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'"
      },
      {
        "exception_object_id": 32260,
        "id": 50,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/mapper.rb:48:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 51,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 52,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `each'"
      },
      {
        "exception_object_id": 32260,
        "id": 53,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/journey/router.rb:32:in `serve'"
      },
      {
        "exception_object_id": 32260,
        "id": 54,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/routing/route_set.rb:837:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 55,
        "trace": "rack (2.2.2) lib/rack/etag.rb:27:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 56,
        "trace": "rack (2.2.2) lib/rack/conditional_get.rb:40:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 57,
        "trace": "rack (2.2.2) lib/rack/head.rb:12:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 58,
        "trace": "activerecord (6.0.2.2) lib/active_record/migration.rb:567:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 59,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'"
      },
      {
        "exception_object_id": 32260,
        "id": 60,
        "trace": "activesupport (6.0.2.2) lib/active_support/callbacks.rb:101:in `run_callbacks'"
      },
      {
        "exception_object_id": 32260,
        "id": 61,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 62,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 63,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 64,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 65,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 66,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:38:in `call_app'"
      },
      {
        "exception_object_id": 32260,
        "id": 67,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:26:in `block in call'"
      },
      {
        "exception_object_id": 32260,
        "id": 68,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:80:in `block in tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 69,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:28:in `tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 70,
        "trace": "activesupport (6.0.2.2) lib/active_support/tagged_logging.rb:80:in `tagged'"
      },
      {
        "exception_object_id": 32260,
        "id": 71,
        "trace": "railties (6.0.2.2) lib/rails/rack/logger.rb:26:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 72,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 73,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 74,
        "trace": "rack (2.2.2) lib/rack/runtime.rb:22:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 75,
        "trace": "activesupport (6.0.2.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 76,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/executor.rb:14:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 77,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/static.rb:126:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 78,
        "trace": "rack (2.2.2) lib/rack/sendfile.rb:110:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 79,
        "trace": "actionpack (6.0.2.2) lib/action_dispatch/middleware/host_authorization.rb:83:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 80,
        "trace": "railties (6.0.2.2) lib/rails/engine.rb:526:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 81,
        "trace": "puma (4.3.3) lib/puma/configuration.rb:228:in `call'"
      },
      {
        "exception_object_id": 32260,
        "id": 82,
        "trace": "puma (4.3.3) lib/puma/server.rb:682:in `handle_request'"
      },
      {
        "exception_object_id": 32260,
        "id": 83,
        "trace": "puma (4.3.3) lib/puma/server.rb:472:in `process_client'"
      },
      {
        "exception_object_id": 32260,
        "id": 84,
        "trace": "puma (4.3.3) lib/puma/server.rb:328:in `block in run'"
      },
      {
        "exception_object_id": 32260,
        "id": 85,
        "trace": "puma (4.3.3) lib/puma/thread_pool.rb:134:in `block in spawn_thread'"
      }
    ]
  }
}

Response code: 500 (Internal Server Error); Time: 192ms; Content length: 21604 bytes
mikker commented 4 years ago

No idea. What does $ rake routes say?

typhoon2099 commented 4 years ago
                               Prefix Verb   URI Pattern                                                                              Controller#Action
                             v1_users        /v1                                                                                      Passwordless::Engine {:authenticatable=>"user"}
                                      POST   /v1/users(.:format)                                                                      v1/users#create
        rails_mandrill_inbound_emails POST   /rails/action_mailbox/mandrill/inbound_emails(.:format)                                  action_mailbox/ingresses/mandrill/inbound_emails#create
        rails_postmark_inbound_emails POST   /rails/action_mailbox/postmark/inbound_emails(.:format)                                  action_mailbox/ingresses/postmark/inbound_emails#create
           rails_relay_inbound_emails POST   /rails/action_mailbox/relay/inbound_emails(.:format)                                     action_mailbox/ingresses/relay/inbound_emails#create
        rails_sendgrid_inbound_emails POST   /rails/action_mailbox/sendgrid/inbound_emails(.:format)                                  action_mailbox/ingresses/sendgrid/inbound_emails#create
         rails_mailgun_inbound_emails POST   /rails/action_mailbox/mailgun/inbound_emails/mime(.:format)                              action_mailbox/ingresses/mailgun/inbound_emails#create
       rails_conductor_inbound_emails GET    /rails/conductor/action_mailbox/inbound_emails(.:format)                                 rails/conductor/action_mailbox/inbound_emails#index
                                      POST   /rails/conductor/action_mailbox/inbound_emails(.:format)                                 rails/conductor/action_mailbox/inbound_emails#create
        rails_conductor_inbound_email GET    /rails/conductor/action_mailbox/inbound_emails/:id(.:format)                             rails/conductor/action_mailbox/inbound_emails#show
                                      PATCH  /rails/conductor/action_mailbox/inbound_emails/:id(.:format)                             rails/conductor/action_mailbox/inbound_emails#update
                                      PUT    /rails/conductor/action_mailbox/inbound_emails/:id(.:format)                             rails/conductor/action_mailbox/inbound_emails#update
                                      DELETE /rails/conductor/action_mailbox/inbound_emails/:id(.:format)                             rails/conductor/action_mailbox/inbound_emails#destroy
rails_conductor_inbound_email_reroute POST   /rails/conductor/action_mailbox/:inbound_email_id/reroute(.:format)                      rails/conductor/action_mailbox/reroutes#create
                   rails_service_blob GET    /rails/active_storage/blobs/:signed_id/*filename(.:format)                               active_storage/blobs#show
            rails_blob_representation GET    /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
                   rails_disk_service GET    /rails/active_storage/disk/:encoded_key/*filename(.:format)                              active_storage/disk#show
            update_rails_disk_service PUT    /rails/active_storage/disk/:encoded_token(.:format)                                      active_storage/disk#update
                 rails_direct_uploads POST   /rails/active_storage/direct_uploads(.:format)                                           active_storage/direct_uploads#create

Routes for Passwordless::Engine:
      sign_in GET        /sign_in(.:format)        passwordless/sessions#new
              POST       /sign_in(.:format)        passwordless/sessions#create
token_sign_in GET        /sign_in/:token(.:format) passwordless/sessions#show
     sign_out GET|DELETE /sign_out(.:format)       passwordless/sessions#destroy
mikker commented 4 years ago

Oh, sorry, looked closer at your stacktrace:

This might be due to how the Passwordless Engine isolates namespace.

In Passwordless views, your links back to the main app should say

<%= link_to 'Users', main_app.users_path %>
<!--                 ^ `main_app.`      -->

Sorry about this. Hopefully we'll remove this distinction in a future version as it's confusing everyone (including me)

typhoon2099 commented 4 years ago

Okay, does that include the emails themselves? My app shouldn't have any views since it's an API.

mikker commented 4 years ago

Apparently so 😊

typhoon2099 commented 4 years ago

What does GETting /sign_in actually do? I've been rewriting the controller to fit into my API project but I've never had to call it. I also don't see anything obvious in the tests and no documentation to explain what the endpoints do.

EDIT: I used my initiative and figured out the endpoint, which is a form to use Passwordless with.

mikker commented 4 years ago

Closing. More fuel to the the don't isolate namespace fire #22.