2014-11-24 31 views
1

是否可以使用pry查看/瀏覽Rails文檔?怎麼樣?我可以使用pry查看Rails文檔嗎?

(撬護欄似乎是項目源,並撬DOC涵蓋核心紅寶石)

是りRails的首選的本地文檔瀏覽工具?

謝謝!

+1

是[this](https://github.com/pry/pry/wiki/Documentation-browsing)有什麼用? – August 2014-11-24 20:41:33

+0

@八月,這就是我一直在尋找的地方,但是'show-doc Pry :: Method'工作時,'show-doc ActiveRecord :: Base'不會。 – SexxLuthor 2014-11-24 20:50:24

+1

@SexxLuthor您可能沒有該文檔。運行'gem server'時ActiveRecord會顯示嗎? – 2014-11-24 22:34:47

回答

2

Pry只會顯示您已經顯式加載的依賴關係的文檔。讓所有的Rails的依賴關係,最簡單的方法是運行在Rails項目的目錄撬像這樣:

pry -r ./config/environment 

現在您可以通過撬看到Rails的內部文檔。但是,正如您所注意到的那樣,Rails的文檔是用ri編寫的。因此,而不是使用show-doc如果您運行ri ActiveRecord::Base你應該看到:

ActiveRecord::Base < Object 

------------------------------------------------------------------------------ 
Includes: 
(from gem activerecord-4.1.1) 
    Core 
    Persistence 
    NoTouching 
    ReadonlyAttributes 
    ModelSchema 
    Inheritance 
    Scoping 
    Sanitization 
    AttributeAssignment 
    ActiveModel::Conversion 
    Integration 
    Validations 
.... it eventually gets to the actual documentation but you get the idea ... 

(我相信show-doc不適合ActiveRecord::Base工作,因爲有一個#:nodoc:指令,在該文件的源代碼,也許有人可以在評論附和或增加編輯)。

或者,您可以手動加載您想要的每個依賴項。如果你打開了一個普通的pry會話並運行require 'active_record',同樣的ri命令將起作用。

如果您使用pry-rails gem或自定義初始化程序將pry設置爲默認REPL,則這應該與rails控制檯一起使用。

+0

謝謝,我猜pry依賴於ri?後來我也意識到ActiveRecord :: Base不是最好的例子 - 可能Core會是一個更好的例子。它似乎也不需要'需求'(在ri/doc未被排除的不同機器上)。使用Rails的'show-doc'完全可以工作嗎?似乎只有ri方法。 – SexxLuthor 2014-11-26 03:12:09

+0

謝謝@Yoshiki。 (問題主要是關於其他開發人員如何使用pry和Rails文檔,或者僅僅使用ri或http://api.rubyonrails.org/。) – SexxLuthor 2014-11-26 03:13:11

+1

我認爲這取決於':nodoc:'標誌。看看來自active_record的base.rb:https://github.com/rails/rails/blob/master/activerecord/lib/active_record/base.rb#L26 Pry可能尊重':nodoc:'指令'show-doc'的上下文,但是在使用'ri'時有不同的規則。爲什麼這樣做?爲什麼Rails在base.rb上有一個nodoc指令?我不能說我確定,因爲我一般不熟悉rdoc。如果你真的好奇,我會建議詢問rail irc頻道或#pry irc頻道。 – Yoshiki 2014-11-26 19:25:45

相關問題