Ruby变量值设置为true

时间:2017-10-06 18:29:21

标签: ruby-on-rails ruby

我是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

2 个答案:

答案 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