mrsnow

mrsnow

Hey. Maybe i’m missing something. I have a create action with some global changes but the changes are not running.

actions do
    defaults [:update, :destroy]

    read :read do
      primary? true
    end

    read :list do
      filter expr(owner == ^actor(:id))
    end

    create :create do
      accept [:subject]

      change relate_actor(:owner, allow_nil?: true)
    end

    update :update_todo do
      accept [:subject]
      require_atomic? false
    end
  end

  preparations do
    prepare build(sort: [due_at: :asc, hashes: :asc, title: :asc])
  end

  changes do
    change {Elephouse.TodoList.Changes.Title, attribute: :title}
    change {Elephouse.TodoList.Changes.Hashtags, attribute: :hashes}
    change {Elephouse.TodoList.Changes.DueDate, attribute: :due_at}
  end

If i change accept [:subject] to an argument the changes run just fine.
So i’m missing something or are changes only run with arguments?

EDIT:
Changing it to this it works:

create :create do
      argument :subject, :string
      allow_nil_input [:subject]

      change set_attribute(:subject, arg(:subject))
      change relate_actor(:owner, allow_nil?: true)
    end

Showing Posts 1 to 1

mrsnow

mrsnow OP

Found the solution for this one.
In the custom Changes i used Ash.Changeset.get_argument which doesn’t get anything when the action only uses attributes.
So changing that to Ash.Changeset.get_argument_or_attribute got them more flexible and they worked again.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews