API with update using jQuery.ajax

Hello,

I have a page with a button “Save” (#room-socket-save-changes) and a select (#room-socket-select) which contains id.
There’s a content of some files below.
router.ex

  pipeline :api do
    plug :accepts, ["json"]
  end

  scope "/api", MdbmsWeb, as: :api do
    pipe_through :api

    scope "/v1", Api.V1, as: :v1 do
      resources "/room_sockets", Room_socketController, only: [:index, :show, :update]
    end
  end

room_socket

  schema "room_sockets" do
    field :name, :string
    belongs_to :room, Mdbms.Room, foreign_key: :room_id
    has_one :connection, Mdbms.Connection

    timestamps()
  end

room_socket_controller.ex

  def update(conn, %{"id" => id, "name" => name, "room_id" => room_id}) do
    room_socket_params = %{"name" => name, "room_id" => room_id}
    room_socket = Repo.get!(Room_socket, id)
    changeset = Room_socket.changeset(room_socket, room_socket_params)

    case Repo.update(changeset) do
      {:ok, post} ->
        conn
        |> put_flash(:info, "Post updated successfully.")
      {:error, changeset} ->
        # render(conn, "edit.html", post: post, changeset: changeset)
    end
  end

app.js

  $('#room-socket-save-changes').on('click', function() {
    var room_socket_id = $('#room-socket-select').val();
    var name = $('#input-rs-name').val();
    var room_id = $('#select-rs-locations').val()

    $.ajax({
      type: 'PUT',
      url: '/api/v1/room_sockets/' + room_socket_id,
      data: {
        name: name,
        room_id: room_id
      },
      dataType: "json",
      success: function() {
        alert("success!");
      },
      error: function() {
        alert('error!');
      }
    });
  });

When I click button “Save” I get alert “error!” and an error shows in my terminal:

[error] #PID<0.463.0> running MdbmsWeb.Endpoint (cowboy_protocol) terminated
Server: localhost:4000 (http)
Request: PUT /api/v1/room_sockets/1
** (exit) an exception was raised:
    ** (ArgumentError) flash not fetched, call fetch_flash/2
        (phoenix) lib/phoenix/controller.ex:1236: Phoenix.Controller.get_flash/1
        (phoenix) lib/phoenix/controller.ex:1218: Phoenix.Controller.put_flash/3
        (mdbms) lib/mdbms_web/controllers/api/v1/room_socket_controller.ex:1: MdbmsWeb.Api.V1.Room_socketController.action/2
        (mdbms) lib/mdbms_web/controllers/api/v1/room_socket_controller.ex:1: MdbmsWeb.Api.V1.Room_socketController.phoenix_controller_pipeline/2
        (mdbms) lib/mdbms_web/endpoint.ex:1: MdbmsWeb.Endpoint.instrument/4
        (phoenix) lib/phoenix/router.ex:278: Phoenix.Router.__call__/1
        (mdbms) lib/mdbms_web/endpoint.ex:1: MdbmsWeb.Endpoint.plug_builder_call/2
        (mdbms) lib/plug/debugger.ex:122: MdbmsWeb.Endpoint."call (overridable 3)"/2
        (mdbms) lib/mdbms_web/endpoint.ex:1: MdbmsWeb.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:16: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) /osA/Elixir/mdbms/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4

I’ve tried some solutions but the error still shows up. Do you have any idea where I make a mistake?