任何人都可以在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标签读取数据