title: (ArgumentError) argument error - when trying to pass a list of values to a changeset
body: <p>I am trying to pass a list of values to a changeset and have following methods:</p>
  
  <p>The schema and changeset method:</p>
  
  <pre><code>defmodule Pubcus.Country do
  
      use Pubcus.Web, :model
  
    schema "countries" do
  
      field :code, :string
      field :en, :string
      field :de, :string
      field :it, :string
      field :fr, :string
  
      timestamps
  
    end
  
    def changeset_all(model, list) when is_list(list) do
  
          list
          |&gt; Enum.map(fn param -&gt; changeset(model, param) end)
  
    end
  
  
    def changeset(model, params \\ %{}) do
  
          model
      |&gt; cast(params, [:code, :en, :de, :it, :fr])
      |&gt; validate_required([:code, :en])
      |&gt; validate_length(:code, max: 2)
      |&gt; unique_constraint(:code)
  
    end
  
  end
  </code></pre>
  
  <p>Then the test: </p>
  
  <pre><code>defmodule Pubcus.CountryModelTest do
  
      use Pubcus.ModelCase
  
      alias Pubcus.Country
  
      @valid_attrs %{ code: "CH", en: "Switzerland", de: "Schweiz", it: "Svizzera", fr: "Suisse" }
      @invalid_attrs %{ code: "CHH" }
  
      @valid_attrs_list [ %{code: "CH", en: "Switzerland", de: "Schweiz", it: "Svizzera", fr: "Suisse"},
                                            %{code: "IT", en: "Italy", de: "Italien"},
                                            %{code: "FR", en: "Franche", de: "Frankreich"} ]
  
      test "a valid dataset" do
  
        changeset = Country.changeset(%Country{}, @valid_attrs)
        assert changeset.valid?
  
      end
  
      test "a invalid country code" do
  
        errors = errors_on(%Country{}, @invalid_attrs)
        assert {:code, "should be at most 2 character(s)"} in errors
        assert {:en, "can't be blank"} in errors
  
      end
  
      test "a valid list of countries" do
  
        changeset = Country.changeset_all(%Country{}, @valid_attrs_list)
        assert changeset.valid?
  
      end
  
  
  end
  </code></pre>
  
  <p>When I test it, it shows me:</p>
  
  <pre><code>1) test a valid list of countries (Pubcus.CountryModelTest)
       test/models/country_model_test.exs:27
       ** (ArgumentError) argument error
       stacktrace:
         :erlang.apply([#Ecto.Changeset&lt;action: nil, changes: %{code: "CH", de: "Schweiz", en: "Switzerland", fr: "Suisse", it: "Svizzera"}, errors: [], data: #Pubcus.Country&lt;&gt;, valid?: true&gt;], :valid?, [])
  </code></pre>
  
  <p>What am I doing wrong?</p>