3

在我的 Phoenix 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 界面创建新记录就可以正常工作。如果我将其中一个留空,则会出现一条错误消息,提示“糟糕,出了点问题!” 在浏览器中。

我想让笔记留空。我怎样才能做到这一点?

4

1 回答 1

2

必填字段列在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

(已编辑。)

于 2015-03-11T05:58:26.583 回答