Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 如何在渲染函数中动态更改模块名称_Elixir_Phoenix Framework - Fatal编程技术网

Elixir 如何在渲染函数中动态更改模块名称

Elixir 如何在渲染函数中动态更改模块名称,elixir,phoenix-framework,Elixir,Phoenix Framework,我希望能够在模板内的渲染函数中动态选择模块名称。所以我尝试了这个,但是我得到了错误: <%= render if i.compType == "mod" do MyProj.ModuleView else MyProj.ComponentView end, i.compName %> 最终结果将是: <%= render MyProj.ModuleView, "module.html" %> 或 最好的方法是什么?您只是缺少一对括号: <%= ren

我希望能够在模板内的渲染函数中动态选择模块名称。所以我尝试了这个,但是我得到了错误:

<%= render if i.compType == "mod" do MyProj.ModuleView else MyProj.ComponentView end, i.compName %>

最终结果将是:

<%= render MyProj.ModuleView, "module.html" %>



最好的方法是什么?

您只是缺少一对括号:

<%= render (if i.compType == "mod" do MyProj.ModuleView else MyProj.Component end), i.compName %>
<%= render (if i.compType == "mod" do MyProj.ModuleView else MyProj.Component end), i.compName %>
<%= render if(i.compType == "mod", do: MyProj.ModuleView, else: MyProj.Component), i.compName %>