【发布时间】:2021-01-26 23:44:50
【问题描述】:
我想创建一个十六进制包,它为 Phoenix 框架提供一个脚手架生成器,它使用 Tailwind CSS 而不是 Milligram。
它在云端。除了一件小事之外,所有的事情都有效: https://github.com/wintermeyer/phx_tailwind_generators
我无法解决的一件小事。在Mix.Tasks.Phx.Gen.Tailwind(作为默认脚手架生成器的副本开始)我调用error/1,通常看起来像这样:
defp error(field) do
~s(<%= error_tag f, #{inspect(field)} %>)
end
但对于 Tailwind CSS,我需要 mt-2 text-sm text-red-500 类才能工作。所以我想创建一个新的tailwind_error_tag/2 辅助函数,它看起来像这样:
defp 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
但这不起作用,因为我不知道如何从 hex 包中作为助手访问此函数。
我该如何解决这个问题?
【问题讨论】:
-
这个问题的答案对你有用吗? stackoverflow.com/questions/65591612/…