在Rails教程和vids中,它與普通的ruby完全不同。例如,我看到<%render%>
或<%end%>
。我什麼時候應該使用<%%>
以及它的作用是什麼?<%anything%>是做什麼用的?
0
A
回答
3
<% code %>
用於代表「嵌入式Ruby」的erb
。它通常用於HTML生成模板。它的兄弟是<%= code %>
它輸出表達式的返回值。
<h1>Hello, <%= @user.name %>!</h1>
# potentially renders: <h1>Hello, Bob</h1>
# potentially renders: <h1>Hello, Sue</h1>
非輸出<% code %>
版本的標籤是用於執行代碼,但不能寫任何東西到模板有用。這對條件(以及其他事情)很有用。
<h1>
Hello
<% if @user.sex == 'male' %>
Mister
<% else %>
Miss
<% end %>
<%= @user.name %>!
</h1>
# potentially renders: <h1>Hello Mister Bob!</h1>
# potentially renders: <h1>Hello Miss Sue!</h1>
在純紅寶石中,這將是一個語法錯誤。但在erb
模板中,這些標籤允許您通過執行ruby來控制模板流程並寫出ruby表達式的結果來控制模板如何呈現。
Rails默認使用erb
作爲其視圖,主要是html生成模板。所以你在Rails的例子中看到了很多。請記住,erb
只是Rails中模板的一個選項。 There is a great many options, which may use different syntax entirely.
0
用於在HTML代碼中顯示代碼中的ruby代碼。
<%= render 'folder/partial_form' %>
這將呈現一個形式部分。
我建議你有一個很好的通過以下鏈接閱讀長:
http://www.guides.rubyonrails.org
http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
0
的<%= %>
和<% %>
語法用於在.erb文件中寫入紅寶石。把ERB想象成一個總是允許ruby代碼運行的html文件。 <% %>
語法運行ruby,但默認不執行任何操作,而<%= %>
語法(請注意=)會將ruby代碼的結果輸出到屏幕。
相關問題
- 1. << - CONSTANT是做什麼的?
- 2. 「#include <iostream>」是做什麼用的?
- 3. <bdi>是做什麼用的?
- 4. ExpressionVisitor.Visit <T>是做什麼用的?
- 5. <<做什麼?
- 6. 「<%:」做什麼?
- 7. DataContext.GetTable <TEntry>是做什麼的?
- 8. (1U << X)做什麼?
- 9. 什麼<<做在JavaScript
- 10. 什麼是std :: cout << std :: cin做什麼?
- 11. echo <<<輸出是做什麼的?
- 12. 這是做什麼用的?
- 13. GL_COLOR_ATTACHMENT是做什麼用的?
- 14. 這是做什麼用的?
- 15. pixel.facebook.com是做什麼用的?
- 16. cm:subscribable是做什麼用的?
- 17. 這是做什麼用的?
- 18. string.split是做什麼用的?
- 19. org.apache.myfaces.MARK_INITIAL_STATE_WHEN_APPLY_BUILD_VIEW是做什麼用的?
- 20. 這是做什麼用的?
- 21. Microsoft.Phone.Logging.Logger是做什麼用的?
- 22. matplotlib中的axes.flat是做什麼的?</p> <pre><code>for i, ax in enumerate(axes.flat): </code></pre> <p>這是什麼做的:
- 23. Perl:<*>做什麼?
- 24. <()在Bash中做什麼?
- 25. 什麼是<%: %>在asp.net mvc中做什麼?
- 26. 這是什麼意思/做什麼? 「value <0?-value:value;」
- 27. 什麼是替換(/(<([^>)+)>)/ ig,「」)在做什麼?
- 28. HTML - 什麼是<page>標籤在做什麼?
- 29. cout << std :: ios :: hex做什麼?
- 30. Hash [x] <<「string」做什麼?
在您的erb模板中使用任何ruby或rails代碼時使用它 – usha