我正在尝试移植一个ruby/rails/hobo应用程序。如何在dryml中使用"if“标记?
<if:dist_image>
<div>
<a href="#{image.url}">
<img src="#{image.url :thumbnail}" title="Click to enlarge"/>
</a>
</div>
</if>dist_image可以是一个对象(包含图像),也可以是nil。似乎什么都不起作用。此外,我在dryml中找不到任何有关条件运算符的文档。
我得到了错误:
"undefined method `url' for "<img alt=\"Assets\" src=\"/assets/\">":ActionView::OutputBuffer"更新:大家好,谢谢你的建议..我尝试了以下所有方法:
<if test="&dist_image">
<if test="&dist_image.blank?">
<if test="dist_image.blank?">
<if test="dist_image">所有这些都会产生相同的错误。:(我遵循了文档中的语法,但它不起作用。
发布于 2013-01-03 03:05:26
问题不在于if语句,而在于#{image.url}。您可能需要#{this.image.url}或#{this.url}或其他什么。<if:dist_image>将上下文设置为this.dist_image,因此它执行与this = this.dist_image等效的操作。
以这种方式调用它意味着您将调用一个名为' image‘的辅助对象,而不是从对象中获取image属性。
顺便说一句,您可能不需要查找<if>的文档,您可能需要的是DRYML上下文的文档,该文档也在DRYML指南中。
https://stackoverflow.com/questions/14119072
复制相似问题