kak*_*bei 2 ruby ruby-on-rails-3.1
好吧,这可能听起来像一个愚蠢的问题,但我遇到了各种各样的问题,我相信必须有一种简单的方法来做到这一点:
如果变量有长度,你如何检查 ruby ?
如果我使用它,当它没有长度时@dvds.length?会出现错误undefined method length for ...。
基本上,我有一些搜索主要是检索 ActiveRecord:Relation,但一两个只是返回一个条目,因为它们是按 id 搜索的。我有这样的事情:
@total = @dvds.length
Run Code Online (Sandbox Code Playgroud)
显示我们找到了多少。
当@dvds 不包含任何长度时,我收到未定义方法的错误。我做了类似的事情:
if @dvds.class == 'ActiveRecord:Relation'
Run Code Online (Sandbox Code Playgroud)
绕过一个错误,但这是可怕的并且容易出现更多错误。
必须有一种 Ruby 方法来检查变量是否具有长度,这样更漂亮更容易,不是吗?
理想情况下,我正在寻找类似的东西:
@total = @dvds.length if @dvds.length
Run Code Online (Sandbox Code Playgroud)
或者类似的。
谢谢。
您可以使用Object#respond_to来检查对象是否响应指定的方法?方法:
obj.respond_to? :length # true or false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |