Open11

読者コミュニティ|Phoenix LiveView 入門①: はじめの一歩

宇都木朗宇都木朗

Chapter 07の記述ですが、/root ではなく、/robot ではないでしょうか。

この結果、ブラウザで /root パスにアクセスしたときに RobotLive モジュールが応答し、

宇都木朗宇都木朗

Chapter 06の「要素の形状をボタン化する」のファイルがrobot_live.html.heexになっていますが、おそらくindex.html.heexのことだと思います。

rickyricky

Chapter 05の「hello アクションの改造」の”hello アクションのための HEEx テンプレートを次のように書き換えてください。”についてですがindex.html.heexに<%= @name %>を指定するとlocalhost:4000にアクセスした際にエラーが発生します。
恐らく<%= @name %>の記述が必要なのはhello.html.heexではないかと思います。

kkanakkana

Chapter12のライブナビゲーションについて質問なのですが、
link/1コンポーネントを利用して各ボタンを修正した際に
これを処理するイベントハンドラは必要ないのでしょうか?

自分の環境ではそのままでは動作しなかったため以下のようなハンドラを追加しました

def handle_params(%{"step" => step}, _uri, socket) do
    {step, ""} = Integer.parse(step)
    socket = assign(socket, :wizard_step, step)
    {:noreply, socket}
  end

def handle_params(_params, _uri, socket) do
    socket = assign(socket, :wizard_step, 0)
    {:noreply, socket}
end

これで動作するようにはなったのですが、何か考慮漏れしていますでしょうか?

また、ウィザードの状態を管理するRootLiveモジュールと
記載がありますがRobotLiveのことでしょうか

黒田努黒田努

丁寧に読んでいただき、ありがとうございます。

ご指摘の通り、関数 handle_params/2 を追加する必要があります。私の手元にある JauntyGreeter のソースコードにはこの関数が存在しましたが、本の原稿を書く際に見落としてしまいました。

また、RootLiveRobotLive の間違い(typo)です。

先程、Chapter 12 を更新しました。関数 handle_params/2 の説明が加わっています。

menomotomenomoto

いくつかご質問させてください。

  1. Chapter 05 インデックスページの改造のソースコード
    誤:<a href="/hello" class="underline text-blue-700">Greeting</a>
    正:<a href={~p(/hello)} class="underline text-blue-700">Greeting</a>
    ではないでしょうか。

  2. Chpter 09 LiveViewプロセスの状態を変更する
    以下の文章の2行目(LiveView プロセスからをデータを受け取ることが…)は誤りだと思われます。

  3. Chapter 09 LiveViewプロセスの状態を変更する
    以下の文章の3行目(そてい、このパラメータを受け取るために…)は誤りだと思われます。

黒田努黒田努

誤記を指摘していただきありがとうございます。

修正いたしました。