工作模式默认belongs_to的关联值
schema "jobs" do
belongs_to :status, Test.JobStatus,
foreign_key: :status_id,
references: :id,
type: :string
timestamps()
end
,我有一个状态型号为:
@primary_key {:id, :string, autogenerate: false}
schema "job_statuses" do
field :title, :string
field :description, :string
end
当我将这份工作,我需要把默认的工作状态(如果它不是在PARAMS )。我知道belongs_to关联中的默认值,但这可能是在您分配关系时分配默认值。任何人都可以指出我可以如何为任何新创建的作业设置默认状态(假设作业状态ID为“acitve”且其已存在于数据库中)。样品已经在这里https://github.com/tanweerdev/jobs
克隆项目后,只是这样做
Interactive Elixir (1.5.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Test.Jobs.create_job_status()
iex(2)> Test.Jobs.test_default_status()
(Postgrex.Error)ERROR 23502(not_null_violation):在 列 “STATUS_ID” 空值违反非空限制
注意:如果我在迁移中添加默认值,但插入和状态成功关联时没有错误,但是我返回给用户的changeset对象不知道该更改,并且它返回null'status_id' –