在ruby中尝试方法

时间:2016-06-24 06:54:03

标签: ruby

我正在尝试从下面的数组中收集元素

 <?php namespace Activity;

use Illuminate\Database\Eloquent\Model;

class UserCompany extends Model {
    protected $table = 'tn_user';
    public $timestamps = false;

    protected $fillable = [

    ];

    /*public function usercompany(){
        return $this->belongsTo('Activity\user');
    }*/
}

但有时@arr可以有一些值,它会抛出未定义的方法错误。因此,请使用@arr.collect(&:title) ,如下所示。

那么如何使用try方法处理它?<​​/ p>

1 个答案:

答案 0 :(得分:5)

您可以使用下一种方式:

@arr.collect {|e| e.respond_to?(:title) ? e.title : nil }

或者如果您使用Ruby&gt; 2.3.0版本,您可以使用安全导航操作符而不是Rails try

@arr.collect { |e| e&.title }