ここまでのあらまし
piacereさんの Excelから関数型言語マスター5回目:Webにグラフ表示
までは、何度もコードを書いて動作確認してトライしていました。
今回、復習で3回目の連載からsample_dbを再度作成しようとやってみたのですが、何をやってもmix ecto.createでコケる、またはPhoenixが立ち上がらない。
Time Machineバックアップから5回目完了のsample_dbを引っ張ってきたので(こういう悪知恵は利く)、いいね!数を含めたWeb表示までのコードを確認してみようと思います。
コードと解析
<%
result = Json.get( "https://qiita.com", "/api/v2/items?query=elixir" )
data = result
columns = [ "id", "title", "created_at" ]
%>
<table border="1">
<tr>
<%= for column <- columns do %>
<th><%= column %></td>
<% end %>
</tr>
<%= for record <- data do %>
<tr>
<%= for column <- columns do %>
<td><%= record[ column ] %></td>
<% end %>
</tr>
<% end %>
</table>
Excelから関数型言語マスター4回目:Webに外部APIデータ表示
までの、下準備やsmallex導入は割愛します。
table~から始まるHTML部分は、連載のそれまでの部分と変えていないとのこと。
つまり、肝要なのは、Json.getでQiitaからelixirに関連ある記事を抜き出し、
それをid、タイトル、作成日時、いいね数を指定するだけでWeb表示してくれるということです!
HTMLにもあかるくないわたしは、trやtdタグについてもググってみたのですが、これは見出しに関わるところが大きいとわかり、だいぶ理解への負担が減りました。

本当は3回目のPJ作成に戻ってfor文などの構成もしっかり理解したいのですが、きょうはここまで。
うまずたゆまず、頑張ります。
Kento Mizuno