【问题标题】:Error running phoenix server for the 1st time. The message says Phoenix.Router.NoRouteError at GET第一次运行凤凰服务器时出错。消息在 GET 处显示 Phoenix.Router.NoRouteError
【发布时间】:2018-04-03 07:56:48
【问题描述】:

我是一个从 Rails 迁移的灵丹妙药菜鸟。我无法启动服务器。我开始了一个 --no-html --no-brunch 项目。我什么也没做,只是启动了项目并在页面上给出了以下错误

Phoenix.Router.NoRouteErrorGET / 找不到GET / (PhoenixReactChat.Router) 的路线

它在页面上显示了我的标准 router.ex

    defmodule PhoenixReactChat.Router do .   
      use PhoenixReactChat.Web, :router

      pipeline :api do
        plug :accepts, ["json"]
      end

      scope "/api", PhoenixReactChat do
        pipe_through :api
      end
    end

使用我的 Rails 思维,我会在此文件中添加一些引用根的内容,例如根“home#index”,对吗?我该怎么做呢?此外,文档不包含任何这样的代码行来启动服务器。

编辑:也就是说我还在为我的项目遵循一个旧教程。(https://medium.com/@benhansen/lets-build-a-slack-clone-with-elixir-phoenix-and-react-part-1-project-setup-3252ae780a1) 一些进一步的挖掘告诉我,由于设置,这个错误是可以预料的。 (https://developer.epages.com/blog/2017/02/09/programming-beyond-the-comfort-zone-the-phoenix-framework.html)

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    您似乎需要为要处理的路径/ 的控制器添加一个路由。

    有几种方法可以处理它。您应该查看Phoenix Routing guide。处理此问题的方法之一是在 api 范围内添加类似以下内容。:

    scope "/api", PhoenixReactChat do
      pipe_through :api
    
      get "/", PageController, :index
    end
    

    您还可以添加 resources 宏以将控制器中的所有 RESTful 函数也添加到您的路由中。

    【讨论】:

      【解决方案2】:

      当我使用它时,我没有意识到 no html 或 branch 选项摆脱了页面控制器。我想对曾经否决我的人说,我们都从某个地方开始,毫无疑问有人会遇到同样的问题。现在当他们用谷歌搜索时,他们会知道自从 phoenix 1.2 以来事情已经发生了变化(我不确定,因为 1.3 是我进入的第一步)。因此,如果您不选择 html,您将无法在浏览器中检查您的服务器。你仍然可以运行它,但你不会得到欢迎页面。您仍然可以使用 iex -S mix phx.server 从服务器运行 iex 并在代码上运行测试。

      【讨论】:

        猜你喜欢
        • 2017-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-17
        • 2017-10-12
        • 2020-01-05
        相关资源
        最近更新 更多