learning123
Hey all, I’m new to elixir and getting the following error:
** (FunctionClauseError) no function clause matching in TSS.DriverStatuses.list_assignable_drivers_by_truck_load/1
So in my module, I define a get_remaining_time function that takes a truck_load:
defp get_remaining_time(truck_load) do
time_since_available = DriverStatuses.list_assignable_drivers_by_truck_load(truck_load)
Formatters.decorate_time_since_available(time_since_available)
end
This function uses the list_assignable_drivers_by_truck_load in the DriverStatuses module, which looks like this:
def list_assignable_drivers_by_truck_load(%TruckLoad{
well: %{id: well_id},
pull_point: pull_point
}) do
base_assignable_drivers_query()
|> apply_default_select(pull_point.point)
|> filter({:well_id, well_id})
|> sort({:distance_in_meters, :asc}, %{"pull_point_id" => pull_point.id})
|> preload(driver: [:trailer_type, driver_contract: [:carrier]])
|> Repo.all()
end
and then formats it using the decorate_time_since_available function in the Formatters module, which looks like this:
def decorate_time_since_available(%{driver_status: %{last_available_at: last_available_at}})
when not is_nil(last_available_at),
do:
humanize_time(DateTime.diff(DateTime.utc_now(), last_available_at), :seconds, :minutes) <>
" (hh:mm)"
def decorate_time_since_available(_), do: "N/A"
Finally, I am calling the function like so:
<CardInfo label="Time Since Available" title={{ get_remaining_time(@truck_load) }} small />
I think I’m not pattern matching correctly, but nothing I’ve tried is working. How can I fix this?
Thanks so much!!
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
How Can I Optimise Compile Time Dependencies
I have been building an elixir application for about 2 years now. Many modules and files ha...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
Other Trending Topics
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #ai
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 4- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
derek-zhou
So your
@truck_loadis not a%TruckLoad(...}then. the error message after the** (FunctionClausError)...line should give you more clueeksperimental
or it is, but the contents do not pattern match
learning123
So, I fixed that issue I believe by passing in a struct:
But now I am getting this error:
(KeyError) key :pull_point not found in: ~huge map of
truck_load’s contents~The
truck_loadmap has apull_pointkey, but it’s value ispull_point: #Ecto.Association.NotLoaded<association :pull_point is not loaded>I believe I need to preload
pull_point, but I shouldn’t do that on the front end, right? I’m not sure how else to access that data though..Thanks so much for the help, I really really appreciate it!!!
al2o3cr
These two statements are not compatible - the error is specifically stating that
truck_loaddoes NOT have a:pull_pointkey at the beginning ofget_remaining_time.Some things to investigate:
get_remaining_timecoming from? The code in your initial post suggested it was intended to be a%TruckLoad{}struct, but wasn’t.list_assignable_drivers_by_truck_loadwill return a list of structs (fromRepo.all) - butdecorate_time_since_availableexpects a single driver. Should that beRepo.one?