任何人都可以在rails中描述content_tag的一些用例。我的意思是爲什麼我應該比簡單的標籤語法更喜歡它。通過html div標籤比較content_tag(:div)content_tag和標準htm標籤的比較
2
A
回答
1
根據我的經驗,我傾向於在幫助器方法(app/helpers
)內使用content_tag
。 content_tag
往往很難得到很快(尤其是當它們嵌套w /塊),所以我只用它們來縮短HTML助手。
content_tag
非常適合動態創建事物。例如,下面是/項目
def ul(items = [], attributes = {}, &block)
content_tag :ul, attributes do
yield(items) if block_given?
[*items].map { |i| content_tag :li, i }.join.html_safe
end
end
產生無序列表W A輔助方法,這可以讓你做的事情一樣
ul ['first', 'second', 'third']
甚至通過阻止列表
ul do |l|
l << "first"
l << "second"
l << "third"
使用一個輔助方法在這裏而不是原始的HTML使得這個代碼更加可重用(DRY),並且還允許靈活性。
1
當您想要動態生成HTML塊時,標記助手很有用。例如,看到我寫的關於生成Twitter Bootstrap麪包屑的帖子:http://www.nicolasgarnil.me/blog/2012/neat-breadcrumbs-with-some-ruby-magic/。
如果你正在編寫靜態標記,你應該堅持HTML標記。如果你不想包裝邏輯來生成像麪包屑,嵌套字段等html組件,使用標籤助手。
相關問題
- 1. 比較標籤matlab
- 2. 標籤toUpperCase比較
- 3. 比較/相交比較標準
- 4. CountIf標準比較日期
- 5. NHibernate標準月比較
- 6. 軟件比較標準
- 7. iOS比較標籤的值
- 8. 的ServiceNow比較環境和標籤
- 9. 在UnityScript中比較標籤
- 10. 比較標籤名稱
- 11. IntelliJ IDEA比較標籤
- 12. 比較多克標籤
- 13. Qt:Qt類與標準C++的比較
- 14. 在休眠標準中比較兩倍
- 15. Java比較器:兩個排序標準
- 16. 如何使用findBy法比較標準
- 17. 地圖比較非均質標準
- 18. 休眠標準日期比較
- 19. 比較日期hiberanate標準查詢
- 20. SumIf與字符串比較標準
- 21. 用於比較的JSTL標籤
- 22. 僅比較linux中的xml標籤
- 23. 比較標籤中的數字
- 24. Joomla的標準標籤
- 25. 比較自定義模板標籤如果標籤
- 26. Win32 CMutex和標準庫的比較std :: mutex
- 27. MPI標準和Map-Reduce編程模型之間的比較?
- 28. 比較XPS和PDF,這將是未來的標準?
- 29. 通過比較theire標籤屬性
- 30. 比較從NFC標籤讀取數據