gpt4 book ai didi

elixir - 使用 Elixir/Phoenix,由于对 phoenix.gen.resource 生成的 CRUD 进行严格验证,无法从 Web UI 创建包含空字段的记录

转载 作者:行者123 更新时间:2023-12-02 04:24:13 25 4
gpt4 key购买 nike

在我的 Phoenix 0.10.0 应用程序中,我运行了

mix phoenix.gen.resource Job jobs job_name:string job_url:string company_url:string location:string notes:string

随后添加resourcesrouter.ex并运行mix ecto.migrate

通过这些更改,只要我填写所有字段,从 Web 界面创建新记录就可以正常工作。如果我将其中一个留空,则会显示一条错误消息:“哎呀,出了点问题!”在浏览器中。

我想将注释留空。我怎样才能做到这一点?

最佳答案

必需的字段列在 changeset 定义中 cast 的第三个参数中,因此请删除那里不需要的字段并将它们添加到列表中最后的可选参数:

git diff
diff --git a/web/models/job.ex b/web/models/job.ex
index 2d6303b..323b114 100644
--- a/web/models/job.ex
+++ b/web/models/job.ex
@@ -18,6 +18,6 @@ defmodule JobHunt.Job do
with no validation performed.
"""
def changeset(model, params \\ nil) do
- cast(model, params, ~w(job_url), ~w())
+ cast(model, params, ~w(job_url), ~w(job_name company_url location notes))
end
end

(已编辑。)

关于elixir - 使用 Elixir/Phoenix,由于对 phoenix.gen.resource 生成的 CRUD 进行严格验证,无法从 Web UI 创建包含空字段的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28979415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com