defmodule AshPhoenix.Form.NoDataLoaded do @moduledoc "Raised when a data needed to be used but the required data was not loaded" defexception [:path] def exception(opts) do %__MODULE__{path: opts[:path]} end def message(%{path: path}) do """ Data was not loaded when using a function to determine data at path: #{inspect(path)}. If you pass a function to the `data` option, you need to either 1) make sure that the *parent* data has all the necessary data loaded or 2.) handle the not loaded case manually. For example: For example: Form.for_create( Resource, :action, params, forms: [ # For forms over existing data nested_form: [ type: :list, as: "form_name", # Here we manually check for NotLoaded data: fn parent -> case parent.related_things do %Ash.NotLoaded{} -> [] related_things -> related_things end end, resource: RelatedResource, update_action: :create_action_name ] ] ) """ end end