Eth*_*han 6 ruby ruby-on-rails
我有这个方法调用我必须使用...
financial_document.assets.length
Run Code Online (Sandbox Code Playgroud)
但financial_document.assets可能是nil.
我可以用......
financial_document.assets.nil? ? '0' : financial_document.assets.length
Run Code Online (Sandbox Code Playgroud)
有没有那么重复的方法呢?
Dave W. Smith走在正确的轨道上.
看看这个:http://www.nach-vorne.de/2007/4/24/attr_accessor-on-steroids
一个简单的解决方案看起来像这样:
class FinancialDocument
attr_accessor :assets
def assets
@assets ||= Array.new
end
...
end
Run Code Online (Sandbox Code Playgroud)
就个人而言,我会使用oroperator/keyword:
(financial_document.assets or []).length
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,.length都在数组上调用,给你0如果nil.
| 归档时间: |
|
| 查看次数: |
938 次 |
| 最近记录: |