閱讀示例項目的源代碼,如Beast和Bort,被推薦爲學習rails的好方法。但是我發現自己迷失在閱讀這些項目的源代碼中,導致包含的插件可能會帶來一些奇怪的代碼而沒有任何提示,例如"require"
或"include"
。你能分享你的導軌代碼閱讀體驗嗎?很多感謝。如何閱讀Rails示例項目的源代碼?
回答
學習使用rails時,需要知道的最重要的事情之一是它如何加載您編寫的代碼。假設你在app/controllers/demo/sub目錄中有一個HelloController。如果您生成此控制器,它將具有Demo :: Sub :: HelloController的正確名稱。
當你的路徑告訴rails尋找「demo/sub/hello」時,它被轉換爲控制器的全名(Demo :: Sub :: HelloController),它們會嘗試調用哪個rails。 Ruby無法找到這個類並調用const_missing,這使得rails將名稱轉換爲文件,在這種情況下,demo/sub/hello_controller(:: = /,除first = _以外的首都,在下劃線方法下查找Inflections)。然後Rails需要這個文件並檢查正確的類定義。
Rails在ruby的加載路徑(app/controllers,app/models,app/helpers,lib,vendor)中添加了幾個目錄,其中任何目錄下的demo/sub/hello_controller.rb都將滿足要求。但不在應用程序/控制器中的控制器需要特別注意那裏的意見。
此外,這適用於名稱空間,只有它會查找一個目錄。因此,引用Demo :: Sub將查找demo/sub目錄。這可以讓你放棄類的標準定義,所以你可以做的
class Demo::Sub::HelloController < ActionController::Base
end
代替
module Demo
module Sub
class HelloController < ActionController::Base
end
end
end
Rails代碼主要是ruby代碼。掌握紅寶石,你將沒有任何問題在閱讀欄的代碼。 祝你好運。
- 開發一個簡單的Rails項目,直到你有基本的Rails的東西了。因爲一旦你知道標準的Rails,你將更快地識別插件功能
- 由於Rails已經寫入,所以更好地瞭解ruby。例如,有一本名爲Ruby for Rails的書,這是一個很好的起點。
- 我喜歡看看從上到下的測試(積分,控制器,型號)
看着測試是一個好點,投票:) – eric2323223 2008-12-30 06:41:34
- 1. Stemming - 代碼示例或開源項目?
- 2. 閱讀源代碼
- 3. 如何閱讀numpy源代碼?
- 4. 用PHP閱讀源代碼
- 5. 閱讀Xen源代碼
- 6. 如何閱讀代碼示例在Immutable/React文檔頁面
- 7. 如何閱讀Collection.System.Collections.Generic.ICollection項目
- 8. 如何閱讀Github項目?
- 9. 如何閱讀此代碼
- 10. JSF更大的示例代碼/項目?
- 11. IOS:閱讀的HTML源代碼
- 12. 閱讀netty的問題源代碼
- 13. NTEventLogAppender的源代碼示例?
- 14. 關於如何閱讀Symfony2源代碼的任何建議?
- 15. 錯誤代碼c#項目示例
- 16. 示例開源Spring項目
- 17. 閱讀linux內核源代碼
- 18. Ruby on Rails示例項目
- 19. Sympl示例 - 源代碼?
- 20. django-guardian示例源代碼
- 21. StackView Widget示例源代碼
- 22. Wicket Contrib示例源代碼
- 23. FTP CloudConnect源代碼示例?
- 24. TFTP源代碼示例
- 25. C#:閱讀代碼中的節目在
- 26. 使用Python和的urllib2如何閱讀源代碼
- 27. 如何閱讀沒有限制的源代碼?
- 28. 我們如何閱讀Webbroswer中的「查看頁面源代碼」?
- 29. 如何閱讀完整的HTML源代碼與按鈕「多」
- 30. FFmpeg:閱讀源代碼,我如何理解給定配置選項的影響?
是的,我同意。但是,在這個過程中是否有任何軌道魔法發生應該向像我這樣的新手解釋?還是有簡單的方法來確定一個奇怪的方法來自哪裏? – eric2323223 2008-12-29 13:40:56