Elixir - Phoenixでページを作成する
今回はページを作成していく。
Routing
Action
View
Template
を理解する。
Routing
web/router.ex
にHomeController
を追加する。
defmodule StockScraping.Router do use StockScraping.Web, :router pipeline :browser do plug :accepts, ["html"] plug :fetch_session plug :fetch_flash plug :protect_from_forgery plug :put_secure_browser_headers end scope "/", StockScraping do pipe_through :browser get "/", HomeController, :index end end
Action
HomeController
を追加する。
web/controllers/home_controller.ex
を新規作成。
defmodule StockScraping.HomeController do use StockScraping.Web, :controller # connはPlug.Conn構造体 def index(conn, _params) do render conn, "index.html" end end
View
Viewはヘルパー関数みたいなものらしい。
web/views/home_view.ex
を追加する。
defmodule StockScraping.HomeView do use StockScraping.Web :view def title do "株出来高増加率ランキング" end end
あえてtitle
という関数を定義している。
これでテンプレートで使用可能となる。
Template
HTMLテンプレートのこと。
web/templates/home/index.html.eex
を新規追加。
HomeView
に追加したtitle/0
を呼び出す。
<p><%= title %></p>
webサーバーを起動させる。
mix phoenix.server
http://localhost:4000 にアクセスするとtitleのみが表示される。