User: Admin: Difference between revisions
From ElixirBlocks
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
_________________________________________________ | _________________________________________________ | ||
https://elixirschool.com/blog/live-view-live-component | |||
Note: | Note: |
Revision as of 14:06, 15 June 2023
- How to Create Database Seed Data.
- How to Use Generators in a Real World Project
- How to Work with Database Data via Basic Commands and Custom Change sets.
- How to Render Database Data to LiveView (via Context Commands).
- How to Create a Chat using PubSub.
- How to Create Event Handlers in LiveView
- How to Create a Dynamic Route from Scratch.
- How to Use Elixirs Template language
- How to Work with Modal
- How to Use CSS From Scratch (Without bundler)
- How to use JS hooks
_________________________________________________
https://elixirschool.com/blog/live-view-live-component
Note:
mix phx.gen.html Alerts Alert alerts title:string content:text enabled:boolean
defmodule AppWeb.PageLive do use AppWeb, :live_view alias App.Alerts def mount(_params, _session, socket) do {:ok, assign(socket, alerts: Alerts.list_alerts())} end def render(assigns) do ~H""" <%= for alert <- @alerts do %> <%= if alert.enabled do %> <div><%= alert.content%></div> <% end %> <% end %> """ end end #_____________________________ def check_for_single_selection(data) do list = App.Alerts.list_alerts() IO.inspect list result = Enum.filter(list, fn x -> x.enabled == true end) IO.inspect "WORK_____________________________" IO.inspect result IO.inspect "WORK_____________________________" data end
__________________________________________________
Complex pattern matching https://www.youtube.com/watch?v=gCVWrM5BNVE
Genservers (and related, agent,task etc)
__________________________________________________
ECTO
query = from "artists", select:[:name]
Verbose:
Ecto.Query.from("artists", select[:name])
Repo.all(query)
- => [%{name: "Miles Davis"}, %{name: "Bill Evans"}]
Repo.to_sql(:all, query)