我試圖找到調用Item.where(dst: "video")
時調用的方法(Item是Mongoid模型)。在源代碼中查看,我看到criteria.rb是要去的地方。但是,def where
調用超級。然後Origin::Selectable
(包括內部Origin::Queryable
)定義它:在Ruby中高效地瀏覽源代碼
def where(criterion = nil)
criterion.is_a?(String) ? js_query(criterion) : expr_query(criterion)
end
現在,我會看到js_query
和expr_query
的,看看他們做什麼等等。
通過所有這些源代碼和模塊,找到所有的方法,然後試圖弄清楚它是如何工作的。
有沒有更好的方法來完成這個過程,找出事情的工作方式?
歡迎來到Stack Overflow。您需要幫助瀏覽代碼,但是您沒有說明您的編輯器使用了什麼,Stack Overflow不是要求編輯提供建議的地方,儘管現有的遺留問題確實提供了建議。請描述你正在努力做得更好,所以我們可以幫助你。另外,雖然你提到了一些Mongoid調用,但這並不會使問題成爲「寶石」或「mongoid」問題。請使用專門用於問題的標籤,而不是與其遠程關聯的標籤。 – 2015-02-09 15:40:12
感謝您的審查。我使用Sublime Text 3,但我的問題不是集中在編輯器上,而是更廣泛。 – borjagvo 2015-02-09 17:24:35
那麼,更廣泛的問題會讓你更難以幫助你。到目前爲止,你可以通過兩個截然不同的答案來說明,我們無法真正知道你在問什麼,這使得你的問題不適合網站。請嘗試對其進行重新說明,並更清楚地表明你正在嘗試做什麼。 – 2015-02-09 19:10:39