簡體   English   中英

使用Elixir / Phoenix,由於使用phoenix.gen.resource生成的CRUD進行嚴格驗證,無法使用Web UI中的空字段創建記錄

[英]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

通過添加resourcesrouter.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM