【发布时间】:2021-01-06 23:32:35
【问题描述】:
我创建了一个替代phx.gen.html,它使用 TailwindCSS 创建模板。它工作正常。我想通过创建一个十六进制包phx_tailwind_generators 来分享它。这是我的票价:
$ phx_tailwind_generators:main> tree
.
├── README.md
├── lib
│ ├── phx_tailwind_generators.ex
├── mix.exs
├── priv
│ └── templates
│ └── tailwind.gen.html
│ ├── controller.ex
│ ├── controller_test.exs
│ ├── edit.html.eex
│ ├── form.html.eex
│ ├── index.html.eex
│ ├── new.html.eex
│ ├── show.html.eex
│ └── view.ex
└── test
├── phx_tailwind_generators_test.exs
└── test_helper.exs
在这些模板中,我使用了此处定义的 tailwind_error_tag/2 助手:
defmodule ExampleWeb.TailwindHelper do
use Phoenix.HTML
import ExampleWeb.ErrorHelpers
@doc """
Generates tag for inlined form input errors.
"""
def tailwind_error_tag(form, field) do
Enum.map(Keyword.get_values(form.errors, field), fn error ->
content_tag(:p, translate_error(error),
class: "mt-2 text-sm text-red-500",
phx_feedback_for: input_name(form, field)
)
end)
end
end
但是如何将这个帮助定义存储在 hex 包中?如何重命名defmodule ExampleWeb.TailwindHelper do 使其在目标系统中有效?
【问题讨论】: