7 ms·
Glad to hear you got a new project started, but let's address the ick factor. When you define a relationship like `has_many :representatives`, Ash does’t creat
by joshprice 1y ago
Glad to hear you got a new project started, but let's address the ick factor.
When you define a relationship like `has_many :representatives`, Ash does’t create `representative_id` on the destination resource, we only validate that it exists and meets some criteria.
No resource ever modifies another resource, so you have to define the id on the other side using `belongs_to` which modifies it's own resource only adding the `respresentative_id` attribute with this
`belongs_to :representative, Representative`
If you need custom field names, you can override them:
`has_many :representatives, MyApp.Representative, destination_attribute: :custom_reference_id`
The docs explain more:
https://hexdocs.pm/ash/relationships.html#belongs-to https://hexdocs.pm/ash/relationships.html#belongs-to
https://hexdocs.pm/ash/relationships.html#has-many https://hexdocs.pm/ash/relationships.html#has-many
- Squeeeez 1y agoThank you for taking the time to answer so kindly