【发布时间】:2017-05-13 08:12:59
【问题描述】:
我在 Phoenix 中使用后端的 ex_admin 构建了一个博客,我想覆盖我的博客文章模板的一些默认输入。
我的帖子具有以下属性:
schema "posts" do
field :title, :string
field :image, :string # will store as URL, will reference external host like S3
field :created_on, :datetime
field :content, :text
timestamps()
end
我想做以下事情:
- 将
:title字段保留为文本输入 - 为
:image创建上传者输入 - 保留Phoenix默认的多重下拉选择方案
created_on - 为我的
:content创建一个Quill wysiwyg(基本上放在一个针对:content文本字段的脚本中)
理想情况下,我想做这样的事情:
defmodule MyBlog.ExAdmin.Post do
use ExAdmin.Register
register_resource MyBlog.Post do
end
form post do
inputs do
input post, :title, type: :string
input post, :image, type: :file
input post, :created_on, type: :datetime
input post, :content, type: :text
end
end
# Add a javascript hook that fires here to target the :content input
end
:title、:image 和 :created_on 字段都显示文本输入...我注意到改变文本字段的唯一类型是 type: :password。有没有办法从inputs do 列表中动态删除这些类型,还是我必须创建一个自定义模板并引用它?
【问题讨论】:
-
花几分钟时间来查找您尝试执行的操作的语法。
-
您是否尝试从
input宏中删除所有:type选项?它们应该根据架构元数据自动正确呈现。 -
感谢@StevePallen,在
lib/ex_admin/form.ex中找到了文档。删除:type会给我默认行为。
标签: elixir admin backend phoenix-framework