4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Phoenix LiveViewの挙動がおかしくなった話

Last updated at Posted at 2024-03-11

概要

Phoenixでアンケートフォーム作成アプリを作ろうとした際、自動生成したLiveViewのページで要素の作成が出来なくなることがあったので、そのことについて書きます。

環境

OS:Ubuntu22.04LTS(WSL)
Elixir version:1.16.1-otp-26
Phoenix Framework version:1.7.11

エラー内容

新しく作成したPhoenixプロジェクトで、最初にフォーム作成のためのページを作ろうと以下のようなコマンドでページを生成しました。

$ mix phx.gen.live Forms Form forms title:string type:integer deadline:naive_datetime

生成したページで試しにフォームを作成しようとすると、何らかの項目を入力したとたんに画面がリロードされてしまう事態が発生しました。

解決

プロジェクトの再構築やフォームの内容の変更を何度か試しましたがフォームの作成がうまくいかず、原因を探っているとPhoenixの関数名などでformという単語が多く使われていることに気づき、試しにテーブル名やリソース名などを変更して以下のような生成コマンドで新しくLiveViewページを作成しました。

$ mix phx.gen.live Questions Question questions title:string type:integer deadline:naive_datetime

生成したページでフォーム作成を試してみると、今度はすんなりと成功しました。

結論

Phoenixフレームワークでリソース名やテーブル名にFormという名称を使うと、挙動がおかしくなることが分かりました。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?