[英]Using Elixir/Phoenix, can't create a record with empty fields from web UI due to strict validation with CRUD generated by phoenix.gen.resource
在我的鳳凰0.10.0應用程序中,我跑了
mix phoenix.gen.resource Job jobs job_name:string job_url:string company_url:string location:string notes:string
通過添加resources
行router.ex
並運行mix ecto.migrate
。
通過這些更改,只要我填寫所有字段,從Web界面創建新記錄就可以正常工作。 如果我將其中一個留空,則會顯示一條錯誤消息“哎呀,出了問題!” 在瀏覽器中。
我想讓這些筆記留空。 我怎樣才能做到這一點?
必填字段列在第三個參數cast
中的定義changeset
,以便刪除不需要的存在的那些,並將它們添加到末可選的參數列表:
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
(編輯。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.