aesmail / aesmail/kaffy

[BUG] expected a map, got: nil when using custom form_field

Aperta
#256 6 commenti 0 reazioni 1 assegnatario Rivendicata da @aesmail Vedi su GitHub
bug
Lingua principale
Elixir
Stelle
1.4k
Fork
171
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**Versions Used**
Kaffy: 0.9.4
Phoenix: 1.6.9
Elixir: 1.14.2

**What's actually happening?**
If I configure `resources` manually, I get error on **edit**, **create**, or **update**.
> expected a map, got: nil when using custom form_field

Here's the configuration I am using:
```
config :kaffy,
admin_title: "MyApp Admin",
otp_app: :my_app,
ecto_repo: MyApp.Repo,
router: MyAppWeb.Router,
resources: &MyApp.Kaffy.Config.create_resources/1
```
If I don't use `resources` in config, then everything works. However, I need to have custom form fields for some resources.

This is one of my configurations:

```
defmodule MyApp.Kaffy.BenchmarkAdmin do
@doc """

"""
def form_fields(_) do
[
friendly_name: nil,
stages: nil,
organization_id: nil
]
end
end

```

Here's the `Config.create_resources`

```
defmodule MyApp.Kaffy.Config do
def create_resources(_conn) do
[
...
benchmarks: [
name: "Benchmarks",
resources: [
benchmarks: [schema: MyApp.Benchmarks.Benchmark, admin: MyApp.Kaffy.BenchmarkAdmin],
#even if I don't pass `:admin`, the views don't work for creating/ updating resources.
benchmark_stages: [schema: MyApp.Benchmarks.BenchmarkStage],
]
]
]
end
end
```

**What should happen instead?**
The resource should be created with the given parameters (NOTE: the changeset only requires `friendly_name` but apparently even that is nil.)

**Screenshots**
If applicable, add screenshots to help explain your problem.
![Screen Shot 2023-01-02 at 15 37 28](https://user-images.githubusercontent.com/15087925/210245729-2dfd8e6e-556c-468b-b61a-f4f8adf3aefc.png)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.