2017-04-22 10 views
-1

新しいユーザーをデータベースに挿入した結果をパターンマッチングしようとしています。私のユーザー作成アクションでパターン一致文字に問題がある

->に間違ったキーを使用していますか?以下のコードで何が問題なのかわかりません。

私はphoenixブックからコードをコピーして貼り付けましたが、それでも動作しません。

ここでの問題は非常に混乱していますか?私はそれが非常に小さい何かであると確信しています!私はエラーを取得しています

def create(conn, %{"user" => user_params}) do 
    changeset = User.changeset(%User{}, user_params) 
    Repo.insert(changeset) do 
     {:ok, user} -> 
     conn 
     |> put_flash(:info, "#{user.name} created!") 
     |> redirect(to: user_path(conn, :index)) 
     {:error, changeset} -> 
     render(conn, "new.html", changeset: changeset) 
    end 
    end 

== Compilation error on file web/controllers/user_controller.ex == 
** (CompileError) web/controllers/user_controller.ex:24: unhandled operator -> 
    (stdlib) lists.erl:1354: :lists.mapfoldl/3 
    (stdlib) lists.erl:1355: :lists.mapfoldl/3 
    (stdlib) lists.erl:1354: :lists.mapfoldl/3 
    (stdlib) lists.erl:1355: :lists.mapfoldl/3 
+3

これは 'case Repo.insert(changeset)do'です。あなたは「事件」という言葉を忘れてしまった。 –

答えて

2

Justin Woodによってコメントとして、不足しているcaseキーワードがあります。

def create(conn, %{"user" => user_params}) do 
    changeset = User.changeset(%User{}, user_params) 
    case Repo.insert(changeset) do 
     {:ok, user} -> 
     conn 
     |> put_flash(:info, "#{user.name} created!") 
     |> redirect(to: user_path(conn, :index)) 
     {:error, changeset} -> 
     render(conn, "new.html", changeset: changeset) 
    end 
    end 
関連する問題