In after_action change, I usually load some relationships and call some update actions.
And the action would return a dirty record with old relationships.
Example
defmodule A do
actions do
update :update do
change after_action(fn changeset, record, context ->
record = Ash.load(record, [:b])
B.update!(record.b, params)
{:ok, record}
end)
end
end
end
A.update action calls B.update in after_action.
The result of B.update is not saved anywhere but db.
Therefore, A.update action would return updated A record and old B record.
Should I always call Ash.reload!(record) at the end of after_action?
Or, is there any recommendation how to use after_action?
This is problematic when calling Ash.can with returned A record.






















