<%= number_input booking, :distance, id: "distance", class: "form-control" %>
Вы можете изменить его на ввод чисел, но реальная проблема заключалась в этом, я до сих пор не понимаю, почему, но проблема была решена:
Внутри booking_controller.ex
До:
def create(conn, %{"booking" => booking_params}) do
booking_struct = Ecto.build_assoc(user, :bookings, Enum.map(booking_params, fn({key, value}) -> {String.to_atom(key), value} end))
changeset = Booking.changeset(booking_struct, %{})
|> Changeset.put_change(:status, "open")
booking = Repo.insert!(changeset)
ПОСЛЕ:
def create(conn, %{"booking" => booking_params}) do
booking_struct = Ecto.build_assoc(user, :bookings, Enum.map(booking_params, fn({key, value}) -> {String.to_atom(key), value} end))
{d, _} = Integer.parse(booking_params["distance"])
changeset = Booking.changeset(booking_struct, %{})
|> Changeset.put_change(:status, "open")
|> Changeset.put_change(:distance, d)
booking = Repo.insert!(changeset)