15 Phoenix HTML 15.1 ModestGreeter RAVT web/router.ex web/router.ex : 12 scope "/", ModestGreeter do 13 pipe_through :browser get "/", TopCont

Similar documents
3 top#index 1 web router.ex web/router.ex 12 scope "/", NanoPlanner do 13 pipe_through browser get "/", TopController, index 16 end URL / to

6 (1) app.html.eex 28 lib/nano_planner_web/templates/layout/app.html.eex 27 <footer> Oiax Inc <%= this_year() %> Oiax Inc. 29 </footer>

8 4 end 5 6 private def message 7 'Hello' 8 end 9 end g = Greeting.new 12 g.hello $ ruby lib/lessons/greeting.rb Hello Ruby public method protec


10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name = "" => "" > item.valid? => true valid? true false

1

16 (2) 23 - <div class="col-12 col-md-4"> </div> 23 + <div class="col-12 col-md-4 bg-info text-white text-md-right"> </div> HTML bg-info #17

橡点検記録(集約).PDF

4 $ alias elixirc="elixirc --ignore-module-conflict" warning redefining module User (current version loaded from Elixir.User.beam) user.ex1 User alias

11 Bootstrap Font Awesome $ cd ~/projects/modest_greeter $ npm install --save jquery popper.js tether --save package.json depen

8 7 + <div class='col-12 col-md-8'> 8 <%= item.description %> 9 </div> 10 </div> 11 <% end %> 12 </div> class container container-fluid PicoPlan

9 Bootstrap Font Awesome 52 + gem 'bootstrap', '4.0.0.alpha6' 53 + gem 'tether-rails' Gem bootstrap tether-rails Bootstrap JavaScript Tether Ctrl-C Ra


untitled

ほんぶん-第14章.indd

(CC Attribution) Lisp 2.1 (Gauche )

VOL.8

Sinatra と MongoDB 今回は Sinatra で MongoDB の操作を体験してみます 進捗に合わせて ドライバから Ruby で使える便利な ORM の紹介をします


1 2

untitled

INDEX

INDEX

1002goody_bk_作業用

外為オンライン FX 取引 操作説明書



TOP

サービス付き高齢者向け住宅賠償責任保険.indd

vuejs_meetup.key

untitled

地域と文化資産


About Starzen




ONPRESS190


本文(B5×40)0614三校責了.indd

920P-1

広報しもつけp01ol


PowerPoint プレゼンテーション

プリント

key

parser.y 3. node.rb 4. CD-ROM


新築_PDF用

表紙a


AFASパンフ表.ai

.....w...j...[.X55..

cover_jinzai_21

fukushi-yotsukaido113

untitled





電力技術研究所

untitled

農林金融2015年5月号

untitled

表紙.PDF

untitled

URL :

wide94.dvi

( )


untitled

<4D F736F F D2081A193B98BE EA97708CFB8DC08B4B92E D8D878CFB8DC0817A B4B816A81798A6D92E894C5817A2E646F63>


untitled

橡okamura-ppt.PDF

2


1

夏目小兵衛直克

nenkin.PDF

-1-

Ruby演習テキスト1


r1.dvi

Windows Cygwin Mac *1 Emacs Ruby ( ) 1 Cygwin Bash Cygwin Windows Cygwin Cygwin Mac 1 Mac 1.2 *2 ls *3 *1 OS Linux *2 *3 Enter ( ) 2

Windows [ ] [ (R)..] cmd [OK] Z:\> mkdir progi [Enter] \ ) mkdir progi ) (command ) help [Enter] help ( help ) mkdir make directory Windows ) mkdir mk

スライド 1

Kyosuke MOROHASHI

2

Microsoft Word - 平成25年度調査研究事業報告書-四国大学山本 doc


16 NanoPlanner name PlanItem.changeset/2 > validate_required([:name]) name :name Ecto.Changeset validate_required/3 Ecto.Changeset "validate_"

TEL FAX /10/10 WEB PV YAHOO ABC.dvd KDDI

ACS電子ジャーナル利用マニュアル

9 rbenv rbenv ruby 9.1 rbenv rbenv rbenv ruby ruby-build ruby 9.2 rbenv macos.bash_profile ~/.bash_profile ~/.bash_profile.bak $ touch ~/.bash_profile

r2.dvi

Opera Browser

~モバイルを知る~ 日常生活とモバイルコンピューティング

ソフトウェアエンジニアリング - バグ #7

-59-

Transcription:

15 Phoenix HTML 15.1 ModestGreeter RAVT web/router.ex web/router.ex : 12 scope "/", ModestGreeter do 13 pipe_through :browser 14 15 + get "/", TopController, :index 16 get "/hello/:name", HelloController, :show 17 get "/hello", HelloController, :show 18 end 19 end top index 131

15 web/controllers/top_controller.ex (New) 1 defmodule ModestGreeter.TopController do 2 use ModestGreeter.Web, :controller 3 4 def index(conn, _params) do 5 render conn, "index.html" 6 end 7 end web/views/top_view.ex (New) 1 defmodule ModestGreeter.TopView do 2 use ModestGreeter.Web, :view 3 end top $ mkdir -p web/templates/top index web/templates/top/index.html.eex (New) 1 <div class="jumbotron m-1"> 2 <h1 class="display-3">modestgreeter</h1> 3 <p class="lead">modestgreeter </p> 4 </div> Bootstrap Jumbotron Web jumbotron div Jumbotron m-1 11 1rem 5 display-3 display-1 display-4 132

15.1 6rem 5.5rem 4.5rem 3.5rem mix phoenix.server http://localhost:4000 15.1 15.1 @name not available web/templates/layout app.html.eex 10 <title>modestgreeter (<%= @name %>)</title> @ @ @name 133

15 render :name index render index render 3 top_controller.ex web/controllers/top_controller.ex : 4 def index(conn, _params) do 5 - render conn, "index.html" 5 + render conn, "index.html", name: "Top" 6 end 7 end ModestGreeter (Top) ModestGreeter 15.2 document_title view module web/controllers/top_controller.ex : 5 - render conn, "index.html", name: "Top" 5 + render conn, "index.html" : HelloView web/views/hello_view.ex 1 defmodule ModestGreeter.HelloView do 2 use ModestGreeter.Web, :view 134

15.2 document_title 3 + 4 + def document_title(assigns) do 5 + "ModestGreeter (#{assigns.name})" 6 + end 7 end document_title TopView web/views/top_view.ex 1 defmodule ModestGreeter.TopView do 2 use ModestGreeter.Web, :view 3 + 4 + def document_title(_assigns) do 5 + "ModestGreeter" 6 + end 7 end 1 _ TopController index web/templates/top/index.html.eex 1 <div class="jumbotron m-1"> 2 - <h1 class="display-3">modestgreeter</h1> 2 + <h1 class="display-3"><%= document_title(assigns) %></h1> 3 <p class="lead">modestgreeter </p> 4 </div> app.html.eex web/templates/layout/app.html.eex 10 - <title>modestgreeter (<%= @name %>)</title> 10 + <title><%= @view_module.document_title assigns %></title> 135

15 15.2 ModestGreeter 15.2 ModestGreeter URL http://localhost:4000/hello 15.3 document_title document_title HelloView.document_title def document_title(assigns) do "ModestGreeter (#{assigns.name})" end assings render 3 136

15.3 document_title assigns.name "ModestGreeter (Alice)" TopView.document_title def document_title(_assigns) do "ModestGreeter" end "ModestGreeter" web/templates/top/index.html.eex <h1 class="display-3"><%= document_title(assigns) %></h1> TopView document_title TopView TopController assigns render 3 <title><%= @view_module.document_title assigns %></title> @view_module TopController TopView HelloController HelloView @view_module.document_title document_title 137

15 15.4 URL /about TopController about web/router.ex : 12 scope "/", ModestGreeter do 13 pipe_through :browser 14 15 get "/", TopController, :index 16 + get "/about", TopController, :about 17 get "/hello/:name", HelloController, :show 18 get "/hello", HelloController, :show 19 end 20 end TopController about web/controllers/top_controller.ex 1 defmodule ModestGreeter.TopController do 2 use ModestGreeter.Web, :controller 3 4 def index(conn, _params) do 5 render conn, "index.html" 6 end 7 + 8 + def about(conn, _params) do 9 + render conn, "about.html" 10 + end 11 end 138

15.5 case app/templates/top/about.html.eex (New) 1 <div class="m-1"> 2 <h1> </h1> 3 <p>modestgreeter Elixir/Phoenix Phoenix </p> 4 </div> http://localhost:4000/about 15.3 15.3 15.5 case Elixir case Elixir 139

15 Elixir n = 1 case n do 1 -> IO.puts "A" 2 -> IO.puts "B" _ -> IO.puts "C" end Elixir A n 1 2 5 C case case do do end -> n 1 2 _ n 1 IO.puts "A" 2 IO.puts "B" _ n 1 2 IO.puts "C" Ruby Ruby n = 1 case n when 1 then puts "A" when 2 then puts "B" else puts "C" end 15.6 document_title render 140

15.6 :view_template TopView web/views/top_view.ex 1 defmodule ModestGreeter.TopView do 2 use ModestGreeter.Web, :view 3 4 - def document_title(_assigns) do 4 + def document_title(assigns) do 5 - "ModestGreeter" 5 + case assigns.view_template do 6 + "about.html" -> "ModestGreeter - " 7 + _ -> "ModestGreeter" 8 + end 9 end 10 end case assigns.view_template "about.html" "ModestGreeter - " "ModestGreeter" 141