2016-02-24 38 views
0

對不起,我對Ruby很新,這可能是一個簡單的問題,我只是在爲它尋找錯誤。 例如:紅寶石何時使用<%或<%=打開

<% flash.each do |key, value| %> 
<%= content_tag :div, value, class: "alert alert-#{key}" %> 
<% end %> 

爲什麼我們只在循環的開頭和結尾使用<%%>,但<%=在循環使用?

另一個例子,沒有循環涉及:

<li><%= link_to "Contact Us", new_contact_path %></li> 

爲什麼我使用<%=,而不是在這裏<%? 謝謝你幫我解決這個問題福利局

回答

1

當你想要再培訓局實際呈現代碼在瀏覽器中的字符串您將使用<%=,當你只是想執行Ruby代碼<%(如進行迭代,設置變量等)

在你的例子:

<% flash.each do |key, value| %> 
<%= content_tag :div, value, class: "alert alert-#{key}" %> 
<% end %> 

<%上使用flash.each遍歷flash變量,然後<%=用於實際渲染content_tag包含在管道keyvalue中設置的值。

0

您使用的是erb嗎?

<%>將執行Ruby代碼括號內

<%=>將實際呈現一些代碼在你看來