![]() |
1
7
我个人会用
不管怎样,
|
![]() |
2
8
戴夫·史密斯走对了。 看看这个: http://www.nach-vorne.de/2007/4/24/attr_accessor-on-steroids 一个简单的解决方案是这样的:
|
![]() |
3
7
处理这一问题的较少重复的方法是,通过安排金融资产持有适当的sentinel值(例如,空集合或具有退化行为的特殊对象),确保金融资产始终是非空对象。 |
![]() |
4
3
案例1:
案例2:
|
![]() |
6
3
解决此类问题的更通用的方法是向对象添加一个try方法:
我相信Ruby1.9已经在对象上有了一个try方法。
然后
|
![]() |
7
1
Try是一个方法,如果对象的方法非nil,它将调用该对象的方法,否则只返回nil。尝试nil方法将始终返回nil,而不是抛出异常。 http://api.rubyonrails.org/classes/Object.html#method-i-try 这是红宝石的方法! |
![]() |
8
1
你不需要额外的宝石就可以做到。我一直在用
|
![]() |
9
0
这是Ruby,您可以向nilclass添加一个length方法,并让它始终返回0。 |
![]() |
10
0
你可以把它改短一点:
因为
但总的来说,imho有很多重复的方法,只有各种各样的解决方法。(这是我不太喜欢Ruby中的一件事。)你可以确保对象不是空的(正如其他人在这里建议的那样),但你不能到处都这样做。您可以在helper方法或begin rescue块中包装nil检查代码。 例如,我编写了一个助手方法——一个“长度getter”,而不是将长度方法添加到nil对象(这是一个肮脏的hack):
|
![]() |
11
0
模型中返回0或长度的内容。这使你不必在你看来做一件有价值的事。像这样的事情通常可以在模型中完成。
|
![]() |
cluster1 · 采取独立的新行动的好处是什么? 6 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
Fred Willmore · Rails控制器不呈现任何模板 1 年前 |
![]() |
Diogo Amaral · 实现API请求的正确方式 1 年前 |
![]() |
Meknassih · 在控制器方法中分配给模型没有任何作用 1 年前 |
![]() |
Michael Ding · Rails上的默认会话到期问题 1 年前 |
|
Flávio · 基于另外两个生成数组 1 年前 |