大家好,今天想要分享一下平常在 Rails 專案追 code 的小技巧
如果我追追追追到發現問題或想知道答案的地方不是專案的 code 而是 gem 裡面的 code,可以用 binding.pry 或 byebug 進去執行的程式碼後使用以下方法:
假如想知道 strategy 的 valid? 在哪定義的,可以用 ruby Method Object 的 source_location 的方法
DEVELOPMENT [11] myzyxel-accounts(#<Warden::Proxy>)>
strategy.method(:valid?).source_location
回傳一個陣列,包含檔案位置以及在第幾行
這樣就可以打開檔案用 binding.pry 或 byebug 繼續追下去囉~