Copy & Paste Engineer

【Elixir】Phoenix 5分でCRUDを作ってみます!

【Elixir】Phoenix 5分でCRUDを作ってみます!

Elixir Phoenix で5分でCRUDをやってみます!

インストール関係は省きます。 今回 demo という名前でプロジェクトを作っています。

環境

mix phx.gen.html

mix phx.gen.html コマンドを使用します。 mix phx.gen.html — Phoenix v1.6.13

このコマンドはController, Model, View, HTML リソースなどCRUDに必要なものを自動的に生成してくれます。

公式ドキュメントにあるコマンドを実行してみます。

mix phx.gen.html Accounts User users name:string age:integer

作成されるファイル

ルーティング追加

作成されたControllerをルーティングに追加します。

  scope "/", DemoWeb do
    pipe_through :browser
    # add
    resources "/users", UserController
  end

追加したルーティングを確認

mix phx.routes

UserController へのルーティングが追加されたことを確認。

user_path   GET     /users/:id/edit                        DemoWeb.UserController :edit
user_path   GET     /users/new                             DemoWeb.UserController :new
user_path   GET     /users/:id                             DemoWeb.UserController :show
user_path   POST    /users                                 DemoWeb.UserController :create
user_path   PATCH   /users/:id                             DemoWeb.UserController :update
            PUT     /users/:id                             DemoWeb.UserController :update
user_path   DELETE  /users/:id                             DemoWeb.UserController :delete

マイグレーションを実行

作成されたマイグレーションを実行します。

mix ecto.migrate

サーバー起動 & 動作確認

サーバー起動

mix phx.server

http://localhost:4000/users へ接続

これで簡単にCRUDが作成可能です。

参考