我正在尝试从下面的数组中收集元素
<?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>
答案 0 :(得分:5)
您可以使用下一种方式:
@arr.collect {|e| e.respond_to?(:title) ? e.title : nil }
或者如果您使用Ruby&gt; 2.3.0版本,您可以使用安全导航操作符而不是Rails try
:
@arr.collect { |e| e&.title }