ArgumentError coming from erlang?

I had a piece of code for an email verification on new user registration that worked well, then I decided to add a recaptcha using the package recaptcha. I think that the problem doesn’t come from the package (I guess I could be wrong) but after what seemed like easy changes, I keep getting the error

** (ArgumentError) argument error
    :erlang.apply("new.html", :private, [])
    (phoenix) lib/phoenix/controller.ex:136: Phoenix.Controller.action_name/1
    (phoenix) lib/phoenix/controller.ex:488: Phoenix.Controller.render/2
    (myapp) web/controllers/user_controller.ex:2: Myapp.UserController.action/2
    (myapp) web/controllers/user_controller.ex:2: Myapp.UserController.phoenix_controller_pipeline/2
    (myapp) lib/myapp/endpoint.ex:1: Myapp.Endpoint.instrument/4
    (myapp) lib/phoenix/router.ex:261: Myapp.Router.dispatch/2
    (myapp) web/router.ex:2: Myapp.Router.do_call/2

where the data looks like

Parameters: %{
  "_csrf_token" => "E09BAEwtEA...",
  "_utf8" => "✓", 
  "g-recaptcha-response" => "03AIezHSbOs...",
  "user" => %{"email" => "", ...}

When I do it from the prompt everything seems to work fine, so I’m thinking that there is something more subtle I’m missing?

UPDATE As usual I’m an idiot and missed an = sign in my captcha tag, which was screwing up the works. Sorry for the inconvenience.

Yes, the error comes from you are calling :erlang.apply with the 1st argument a string when it is expected to be an atom.

1 Like