我是Ruby / Ruby on Rails的新手。我编写了下面的代码来从api获取一个布尔值。 API调用失败,并进入 rescue 块。但由于某种原因,它将值设置为true。我不明白这是怎么回事。
@is_attached = OnDeck.api.check_is_attached(@decision.application_number, current_user)
Api呼叫/客户端包装器代码
def check_is_attached(app_number, user)
begin
client.check_is_attached(app_number, user.auth_token)
rescue OnDeckException::MerchantApiException => e
Rails.logger.error("Caught exception #{e} while calling check_mbs_attached for app_number : #{app_number}")
end
end
答案 0 :(得分:6)
rails logger在成功记录时返回true
:
[2] pry(main)> Rails.logger.error("Caught exception")
Caught exception
=> true
因为这是方法中执行的最后一行,所以当ruby具有隐式返回时返回该值。
答案 1 :(得分:1)
Rails.logger.error(string)
返回true,可以看出:
2.3.1 :002 > Rails.logger.error('foo')
foo
=> true