閱讀示例項目的源代碼,如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. 閱讀Xen源代碼
- 4. 用PHP閱讀源代碼
- 5. 如何閱讀Github項目?
- 6. IOS:閱讀的HTML源代碼
- 7. 錯誤代碼c#項目示例
- 8. 示例開源Spring項目
- 9. Ruby on Rails示例項目
- 10. Wicket Contrib示例源代碼
- 11. TFTP源代碼示例
- 12. Sympl示例 - 源代碼?
- 13. C#:閱讀代碼中的節目在
- 14. 我們如何閱讀Webbroswer中的「查看頁面源代碼」?
- 15. 使用Python和的urllib2如何閱讀源代碼
- 16. 如何閱讀沒有限制的源代碼?
- 17. 如何閱讀完整的HTML源代碼與按鈕「多」
- 18. FFmpeg:閱讀源代碼,我如何理解給定配置選項的影響?
- 19. 如何閱讀不同項目的web.config?
- 20. 示例代碼/代碼項目的最佳ASP.NET網站
- 21. 「Hasty Pudding」密碼的示例源代碼?
- 22. 閱讀真實生產項目的代碼。怎麼找?
- 23. 閱讀來自android java代碼的html列表項目
- 24. 如何/從哪裏開始閱讀開源代碼?
- 25. Kindle如何被用作源代碼閱讀工具?
- 26. 完全初學者如何閱讀源代碼?
- 27. 開源C#代理服務器 - 任何項目/示例?
- 28. 如何閱讀所有Feed項目?
- 29. 哪裏可以找到rails項目的`r.element`的源代碼?
- 30. Node-RED開源項目項目的調試源代碼
是的,我同意。但是,在這個過程中是否有任何軌道魔法發生應該向像我這樣的新手解釋?還是有簡單的方法來確定一個奇怪的方法來自哪裏? – eric2323223 2008-12-29 13:40:56