2016-09-28 105 views
1

我希望能夠在模板內的渲染函數中動態選擇模塊名稱。所以,我想這一點,但我得到的錯誤:如何在渲染函數中動態更改模塊名稱

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

最終的結果將是:

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

<%= render MyProj.ComponentView, "component.html" %> 

什麼是做的最好的方式?

回答

2

你只是缺少一對括號:

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

更習慣的方法,雖然是使用形式不end

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