如果partial与另一个.eex
文件位于同一文件夹中,您只需运行render "filename.html"
,但如果它位于子文件夹中,该怎么办?在我的例子中,我有一些部分包含一些SVG图标的HTML。我不希望那些文件混乱我的控制器的主模板目录(我宁愿将它们放在templates/pages/icons
而不是templates/pages
)。但是,如果它们与呈现它们的.eex
文件不在同一目录中,则按名称引用它们不起作用,也不执行render "icons/filename.html"
之类的操作。处理这个问题的正确方法是什么?
答案 0 :(得分:5)
您必须先修改 web / web.ex 文件,让其知道包含子目录:
use Phoenix.View, root: "web/templates", pattern: "**/*"
进行此更改后,您可以使用相对路径,如:"icons/filename.html"
希望有所帮助!