LoginSignup
4
3

routerとコントローラを追加してエンドポイントにアクセスしたときにテキストを表示する

Posted at

こんにちは!
プログラミング未経験文系出身、Elixirの国に迷い込んだ?!見習いアルケミストのaliceと申します。
今回はPhoenixのrouterとコントローラの追加について学んだことをまとめます。2024/4/6に開催したイベントpiyopiyo.ex #29:『Elixir実践入門』を読んでみよう!の成果です。

目的

エンドポイント/usersにアクセスした時、テキスト"Hello! This is the result of piyopiyoex #29"を画面に表示する

実行環境

Windows 11 + WSL2 + Ubuntu 22.04
Elixir v1.16.2-otp-26
Erlang v26.0.2

仮説

resources "/users", UserControllerをrouterに追加+アクセス時対応する処理を書く。

結果

Phoenixプロジェクト作成

helloという名前でPhoenixプロジェクトを作成します。

bash
mix phx.new hello
cd hello
mix ecto.create

routerにエンドポイントを追加

lib/hello_web/router.ex
 scope "/", HelloWeb do
     pipe_through :browser

     get "/", PageController, :home
+    resources "/users", UserController
   end

コントローラとアクセス時に何をしてほしいか(index関数)を追加

lib/hello_web/controllers/user_controller.ex
defmodule HelloWeb.UserController do
  use HelloWeb, :controller

  def index(conn, _params) do
    text(conn, "Hello! This is the result of piyopiyoex #29")
  end
end

できました(^▽^)/

bash
mix phx.server

image.png

~Elixirの国のご案内~

↓Elixirって何ぞや?と思ったらこちらもどぞ。Elixirは先端のアレコレをだいたい全部できちゃいます:laughing::sparkles::sparkles:

↓ゼロからElixirを始めるなら「エリクサーチ」がおすすめ!私もエンジニア未経験から学習中です。

We Are The Alchemists, my friends!:bouquet:1
Elixirコミュニティは本当に優しくて温かい人たちばかり!
私が挫折せずにいられるのもこの恵まれた環境のおかげです。
まずは気軽にコミュニティを訪れてみてください。2

  1. @torifukukaiouさんのAwesomeな名言をお借りしました。Elixirコミュニティを一言で表すと、これに尽きます。

  2. @kn339264さんの素敵なスライドをお借りしました。Elixirコミュニティはいろんな形で活動中!

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3