我是菲尼克斯和Elixir的新品牌。到目前为止,它很棒,但有一个学习曲线。现在,我跟着啧啧得到了这个错误,我似乎无法看出出了什么问题。 (SyntaxError) web/controllers/registration_controller.ex:16: syntax error before: '->'
Registration_controller:
defmodule Restore.RegistrationController do
use Restore.Web, :controller
alias Restore.User
def new(conn, _params) do
changeset = User.changeset(%User{})
render conn, changeset: changeset
end
def create(conn, %{"user" => user_params}) do
changeset = User.changeset(%User{}, user_params)
case Restore.Registration.create(changeset, Restore.Repo) do
{:ok, changeset} ->
# sign in the user
{:error, changeset} ->
# show error message
end
end
end
错误:
Compiling 2 files (.ex)
== Compilation error on file web/controllers/registration_controller.ex ==
** (SyntaxError) web/controllers/registration_controller.ex:16: syntax error before: '->'
(elixir) lib/kernel/parallel_compiler.ex:116: anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
很抱歉,如果这是一个糟糕的问题,但对于我的生活,我似乎无法做到这一点。任何帮助都会非常感谢你!
答案 0 :(得分:3)
您需要完成注册过程(添加代码而不是评论),您对每个案例都没有做任何事情,这是来自使用JWT身份验证的应用程序的示例:
def create(conn, %{"user" => user_params}) do
changeset = User.changeset(%User{}, user_params)
case Repo.insert(changeset) do
{:ok, user} ->
{:ok, jwt, _full_claims} = Guardian.encode_and_sign(user, :token)
conn
|> put_status(:created)
|> render(Restore.SessionView, "show.json", jwt: jwt, user: user)
{:error, changeset} ->
conn
|> put_status(:unprocessable_entity)
|> render(Restore.RegistrationView, "error.json", changeset: changeset)
end