2016-04-29 61 views
7

Im從軌道遷移,並預計這將工作,在我的模板?鳳凰模板如果條件

 <% if true do %> 
     <li><p>hello</p></li> 
     <% else %> 
     <li><p>world</p></li> 
     <% end %> 

沒有任何條件似乎得到呈現。如何實現這個目標?

謝謝

回答

18

您需要使用<%=代替<%

<%= if true do %> 
... 
<% end %> 

EEx docs

所有表達式輸出一些東西到模板必須使用等號(= )。由於Elixir中的所有內容都是表達式,因此這條規則沒有例外。例如,雖然某些模板語言在子句中會出現特殊情況,但它們在EEx中的處理方式相同,並且要求=以便將其結果打印出來:

+0

因此,我正在努力解決爲什麼「結束」不需要等號?我有一個裏面有'else'的東西,並且輸出到模板中,爲什麼它不需要=? – jaydel