View Source AshPhoenix (ash_phoenix v2.1.12)
An extension to add form builders to the code interface.
There is currently no DSL for this extension.
This defines a form_to_<name>
function for each code interface
function. Positional arguments are ignored, given that in forms,
all input typically comes from the params
map.
The generated function passes all options through to
AshPhoenix.Form.for_action/3
Update and destroy actions take the record being updated/destroyed as the first argument.
For example, given this code interface definition on a domain
called MyApp.Accounts
:
resources do
resource MyApp.Accounts.User do
define :register_with_password, args: [:email, :password]
define :update_user, action: :update, args: [:email, :password]
end
end
Adding the AshPhoenix
extension would define
form_to_register_with_password/2
.
Usage
Without options:
MyApp.Accounts.form_to_register_with_password()
#=> %AshPhoenix.Form{}
With options:
MyApp.Accounts.form_to_register_with_password(params: %{"email" => "placeholder@email"})
#=> %AshPhoenix.Form{}
With
MyApp.Accounts.form_to_update_user(params: %{"email" => "placeholder@email"})
#=> %AshPhoenix.Form{}