I am following the Phoenix 1.3.3 Guide, section Contexts. So far I have:
- created the user template files (using
mix phx.gen.html
) - updated the router file with
resources "/users", UserController
- ran
mix ecto.migrate
- started the server with
mix phx.server
- pointed the browser to http://localhost:4000/users
The error I get is (Phoenix.Router.NoRouteError) no route found for GET /users (HelloWeb.Router)
Looking at my route data I can’t see anything wrong with that:
mix phx.routes
page_path GET / HelloWeb.PageController :index
user_path GET /users HelloWeb.UserController :index
user_path GET /users/:id/edit HelloWeb.UserController :edit
user_path GET /users/new HelloWeb.UserController :new
user_path GET /users/:id HelloWeb.UserController :show
user_path POST /users HelloWeb.UserController :create
user_path PATCH /users/:id HelloWeb.UserController :update
PUT /users/:id HelloWeb.UserController :update
user_path DELETE /users/:id HelloWeb.UserController :delete
My router contains:
scope "/", HelloWeb do
pipe_through :browser # Use the default browser stack
get "/", PageController, :index
resources "/users", UserController
end
Anything else I am overlooking?
The full error trace is:
[info] GET /users
[debug] ** (Phoenix.Router.NoRouteError) no route found for GET /users (HelloWeb.Router)
(hello) lib/hello_web/router.ex:1: HelloWeb.Router.__match_route__/4
(hello) lib/phoenix/router.ex:307: HelloWeb.Router.call/2
(hello) lib/hello_web/endpoint.ex:1: HelloWeb.Endpoint.plug_builder_call/2
(hello) lib/plug/debugger.ex:122: HelloWeb.Endpoint."call (overridable 3)"/2
(hello) lib/hello_web/endpoint.ex:1: HelloWeb.Endpoint.call/2
(plug) lib/plug/adapters/cowboy/handler.ex:16: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) /Users/arthur/code/Sloveens.org/Elixir/hello/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4