【发布时间】:2013-01-08 02:30:58
【问题描述】:
对不起我的英语。
我在太多地方,显示相关对象的值:
= post.category.name
而且这个类别可能是空的(在 Ruby 中是空的)。在 Django 中有default 过滤器,它的工作代价是任何未知变量都变为 None (nil),我们可以设置默认值。
在Rails中,这种情况下会出现异常NoMethodError,因为我们试图访问不存在的类别名称的含义。
我想写一个助手来捕获异常并返回—,但post.category.name的值是在传递给助手之前计算出来的(原则上是合乎逻辑的)。
一般来说,我想在这里制作如下代码:
= post.category.nil? ? raw ('-'): post.category.name
以更方便的形式,像这样
= mdash(post.category.name)
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby erb