![](/img/trans.png)
[英](Phoenix.Router.NoRouteError) no route found for GET /phoenix/live_reload/socket/websocket (ShortenApiWeb.Router)
[英]Elixir Phoenix.Route.NoRouteError
我正在閱讀“ Programming Phoenix”一書,並在第60頁附近添加了/ Users / New路由后,我的路由器似乎已停止正常運行。
當我嘗試導航到任何/用戶路線時,我得到
“找不到GET / Users(Rumbl.Router)的路由”
我的router.ex文件看起來像這樣:
defmodule Rumbl.Router do
use Rumbl.Web, :router
pipeline :browser do
plug :accepts, ["html"]
plug :fetch_session
plug :fetch_flash
plug :protect_from_forgery
plug :put_secure_browser_headers
end
pipeline :api do
plug :accepts, ["json"]
end
scope "/", Rumbl do
pipe_through :browser # Use the default browser stack
get "/", PageController, :index
resources "/users", UserController, only: [:index, :show, :new, :create]
end
end
我的控制器如下所示:
defmodule Rumbl.UserController do
use Rumbl.Web, :controller
alias Rumbl.User
def index(conn, _params) do
users = Repo.all(User)
render conn, "index.html", users: users
end
def show(conn, %{"id" => id}) do
user = Repo.get(User, id)
render conn, "show.html", user: user
end
def new(conn, _params) do
changeset = User.changeset(%User{})
render conn, "new.html", changeset: changeset
end
end
運行“ mix phoenix.routes”將返回:
page_path GET / Rumbl.PageController :index
user_path GET /users Rumbl.UserController :index
user_path GET /users/new Rumbl.UserController :new
user_path GET /users/:id Rumbl.UserController :show
user_path POST /users Rumbl.UserController :create
在添加“新”路由之前,它一直運行良好。 我嘗試過刪除新路線(及其附帶的所有內容),然后回到原來的狀態
get "/users", UserController, :index
get "/users/:id", UserController, :show
而且仍然不起作用。
我已經重新啟動了phoenix服務器,並嘗試從頭開始重新創建router.ex文件。 我很茫然,這可能是怎么回事?
這是堆棧跟蹤:
[debug] ** (Phoenix.Router.NoRouteError) no route found for GET /Users (Rumbl.Router)
(rumbl) web/router.ex:1: Rumbl.Router.__match_route__/4
(rumbl) lib/phoenix/router.ex:307: Rumbl.Router.call/2
(rumbl) lib/rumbl/endpoint.ex:1: Rumbl.Endpoint.plug_builder_call/2
(rumbl) lib/plug/debugger.ex:122: Rumbl.Endpoint."call (overridable 3)"/2
(rumbl) lib/rumbl/endpoint.ex:1: Rumbl.Endpoint.call/2
(plug_cowboy) lib/plug/cowboy/handler.ex:18: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) /Users/richardschmidt/Code/Elixir/rumbl/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
/Users
和/users
不同。
嘗試使用路徑的小寫版本: /users
, /users/new
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.