Rails의 scaffold를 Phoenix에서 할

4715 단어 ElixirPhoenix
Rails의 scaffold와 같은 것이 Phoenix에서도 할 수있는 것 같습니다.

우선 mix phoenix.gen.html
zsh
$ mix phoenix.gen.html User users name:string email:string bio:string number_of_pets:integer
Compiled lib/hello_phoenix.ex
Compiled web/web.ex
Compiled lib/hello_phoenix/repo.ex
Compiled web/router.ex
Compiled web/views/error_view.ex
Compiled web/controllers/page_controller.ex
Compiled web/views/page_view.ex
Compiled lib/hello_phoenix/endpoint.ex
Compiled web/views/layout_view.ex
Generated hello_phoenix app
* creating priv/repo/migrations/20150603150928_create_user.exs
* creating web/models/user.ex
* creating test/models/user_test.exs
* creating web/controllers/user_controller.ex
* creating web/templates/user/edit.html.eex
* creating web/templates/user/form.html.eex
* creating web/templates/user/index.html.eex
* creating web/templates/user/new.html.eex
* creating web/templates/user/show.html.eex
* creating web/views/user_view.ex
* creating test/controllers/user_controller_test.exs

Add the resource to the proper scope in web/router.ex:

    resources "/users", UserController

and then update your repository by running migrations:

    $ mix ecto.migrate

지시된 대로 한다.

우선은 config/router.ex 에 추가한다.

config/router.ex
defmodule HelloPhoenix.Router do
  use HelloPhoenix.Web, :router

  pipeline :browser do
    plug :accepts, ["html"]
    plug :fetch_session
    plug :fetch_flash
    plug :protect_from_forgery
  end

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

   scope "/", HelloPhoenix do
     pipe_through :browser # Use the default browser stack

     get "/", PageController, :index
     # ここらに突っ込む
     resources "/users", UserController
   end

   # Other scopes may use custom stacks.
   # scope "/api", HelloPhoenix do
   #   pipe_through :api
   # end
 end

user 테이블 만들기 위하여 migrate한다.

zsh
$ mix ecto.migrate                                                                                                                 
[info] == Running HelloPhoenix.Repo.Migrations.CreateUser.change/0 forward
[info] create table users
[info] == Migrated in 0.1s

결과



http://localhost:4000/users



참고

좋은 웹페이지 즐겨찾기