Understanding Forms and Changesets: Difference between revisions
From ElixirBlocks
								
												
				No edit summary  | 
				No edit summary  | 
				||
| Line 38: | Line 38: | ||
get "/items", ItemController, :index  | get "/items", ItemController, :index  | ||
</source>  | </source>  | ||
==Controller==  | |||
In app/lib/app_web/controllers create a file controller named:  | In app/lib/app_web/controllers create a file controller named:  | ||
| Line 45: | Line 48: | ||
In the same directory create a  | In the same directory create a file named:  | ||
item.htem.ex  | |||
Open the file and type the following code:  | |||
<source>  | |||
defmodule AppWeb.ItemHTML do  | |||
  use AppWeb, :html  | |||
  embed_templates "item_html/*"  | |||
end  | |||
</source>  | |||
Revision as of 11:48, 13 October 2023
This page is in progress
In this tutorial you create a database table named Item and its Ecto "Context" data. You learn how changesets work by writing controllers, template and forms.
To begin, create a new empty Phoenix app named app.
When complete, run this command to create database tables and Ecto context code.
mix phx.gen.context Items Item items name:string
Seed Data
In the file named app/priv/repo/seeds.ex type the following code to create "dummy data" for this exercise.
App.Items.create_item(%{name: "item-1"})
App.Items.create_item(%{name: "item-2"})
App.Items.create_item(%{name: "item-3"})
In the terminal type:
mix run priv/repo/seeds.exs
Routes
In routes, add the the following routes.
post "/items", ItemController, :create get "/items", ItemController, :index
Controller
In app/lib/app_web/controllers create a file controller named:
item_controller.ex
In the same directory create a file named:
item.htem.ex
Open the file and type the following code:
defmodule AppWeb.ItemHTML do use AppWeb, :html embed_templates "item_html/*" end