首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查对象上的nil?

如何检查对象上的nil?
EN

Stack Overflow用户
提问于 2019-07-09 23:01:47
回答 1查看 48关注 0票数 2

我执行以下调用来获取Ruby对象,该对象从Spotify的API返回数据:

spotify_track = RSpotify::AudioFeatures.find('3RmAqYZZjiSyMV40hm6rDL')

这将返回:

代码语言:javascript
复制
#<RSpotify::AudioFeatures:0x00007fe0cc079b30 @acousticness=nil, @analysis_url="https://api.spotify.com/v1/audio-analysis/3RmAqYZZjiSyMV40hm6rDL", @danceability=nil, @duration_ms=35361, @energy=nil, @instrumentalness=nil, @key=1, @liveness=nil, @loudness=-12.186, @mode=1, @speechiness=nil, @tempo=0, @time_signature=nil, @track_href="https://api.spotify.com/v1/tracks/3RmAqYZZjiSyMV40hm6rDL", @valence=nil, @external_urls=nil, @href=nil, @id="3RmAqYZZjiSyMV40hm6rDL", @type="audio_features", @uri="spotify:track:3RmAqYZZjiSyMV40hm6rDL"> 

当我尝试获取其中一个为nil的属性时,我得到一个404错误:

代码语言:javascript
复制
> spotify_track.acousticness
Traceback (most recent call last):
        1: from (irb):25
RestClient::NotFound (404 Not Found)

那么,如何检查属性是否为nil呢?

spotify_track.acousticness.present?spotify_track.acousticness.blank?spotify_track.try(:acousticness)这样的常见代码都会返回相同的RestClient 404错误。

我使用的是RSpotify gem,它利用了REST Client gem。

EN

回答 1

Stack Overflow用户

发布于 2019-07-09 23:10:42

你可以拯救它并添加一些代码,

代码语言:javascript
复制
rescue RestClient::ExceptionWithResponse => err

参考rest-client#response-callbacks-error-handling

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56955480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档