1
下降到調試比方說,foo
被創建,修改和程序運行時節省很多時間。在Rails,如何當條件滿足
通常,foo.bar == "sensible value"
,但偶爾,foo.bar == "crazy value"
。
有什麼方法可以運行rails server --debugger
,並且只有在foo.bar == "crazy value"
的位置才能進入調試控制檯?
下降到調試比方說,foo
被創建,修改和程序運行時節省很多時間。在Rails,如何當條件滿足
通常,foo.bar == "sensible value"
,但偶爾,foo.bar == "crazy value"
。
有什麼方法可以運行rails server --debugger
,並且只有在foo.bar == "crazy value"
的位置才能進入調試控制檯?
你試過
if foo.bar == "crazy value"
require 'ruby-debug'; debugger
end
這應該放置在運行bundle exec rails server
通常觸發一個斷點,只有當foo.bar
的值是您(不)想。
如果使用的是捆綁和Ruby 1.9確保你有
gem 'ruby-debug19', :require => 'ruby-debug'
在你的Gemfile
(開發和測試組)。
嗨,謝謝。是的,我想到了一個有條件的斷點,如果我有一個強烈的預感foo.bar被設置爲「瘋狂的價值」,那麼我會使用它。然而,我並沒有這麼做,所以我希望從整個應用程序中的任何一點將foo.bar設置爲「瘋狂價值」,從而進入調試器。那可能嗎? –
爲foo.bar定義setter,並將答案放在答案中。 – iafonov