阅读示例项目的源代码,如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