gpt4 book ai didi

ruby-on-rails - 如何掌握 Ruby on Rails

转载 作者:行者123 更新时间:2023-12-03 16:02:42 26 4
gpt4 key购买 nike

我一直在使用在线教程来学习 ROR。我使用了 www.lynda.com 的视频类(class)来基本了解 Rails 的全部内容,并在培训期间使用 Rails 2.0.2 版进行练习。但现在我加入了一家初创公司的开发团队,那里没有高级/经验丰富的程序员来帮助我,我们正在使用 Rails 2.3.8 进行大量的源代码修改。我在理解源代码方面遇到了很多困难,我注意到的一些主要差异如下:

  • 在 Rails 2.3.8 中包含 XML 和 HTML 以在脚手架中呈现 View (我不明白这是什么,因为我在使用 Rails 2.0.2 的培训期间从未遇到过这种情况)
  • 在 gitorious 源目录中,除了 Controllers、Models、Views 和 Helpers 之外,还有两个目录,即 Processors 和 Metals。我不明白它们的意义是什么。
  • .yml 文件的广泛使用。那些是干什么用的?在 rails 2.0.2 中,我遇到的只是 database.yml。现在,在 gitorious 中,我看到了 gitorious.yml。这些都是怎么定制的?我的意思是,rails 应用程序( Controller 、模型等)如何与 gitorious.yml 通信?

  • 关于所有这些问题,我如何提升一两个级别,从“Rails 新手程序员”称自己为“中级 Rails 程序员”?以及如何在所有即将到来的 Rails 转换中保持对新 API、弃用的更新?

    最佳答案

    Inclusion of XML and HTML to render views in scaffolds, in Rails 2.3.8



    是的,脚手架的工作方式发生了变化——我不记得它是什么时候发生的变化,但我可以相信变化发生在 2.0 和 2.3 之间。

    当您以旧方式生成脚手架时,它只会在 Controller 中包含“脚手架”命令,这将为每个操作呈现一个默认界面,直到您将它们替换为您自己的 HTML 模板。

    新方法实际上将 HTML 模板生成为文件:因此,在 views 目录中,将有一个包含 ERb(嵌入 Ruby 的 HTML)的目录。然后你可以直接去编辑那些。

    它还呈现 XML - 这是默认完成的,但您可以选择生成哪些其他格式。 Rails 允许您为每个 Controller 操作生成多种输出格式 - 以便您可以轻松生成 RESTful Web 服务。因此,您显然默认生成 XML,但您也可能希望生成其他格式的机器:XML(包括 RSS/Atom)、JSON(和 JSON-P 等)、RDF、YAML。我用它来生成 CSV 和 Excel,这样站点的用户就可以将数据导出到他们的电子表格包中。

    In gitorious source directory, in addition to Controllers, Models, Views and Helpers there are two more directories namely, Processors and Metals. I don't understand what their significance is.



    处理器/被 ActiveMessaging使用- 它包含 ActiveMessaging 处理器 - 基本上是作为与 ActiveMessaging 所连接的消息队列进行通信的一部分而被调用的代码。

    metal/包含最能描述为“中间件”的代码 - 基本上,要部署 Rails 应用程序,您需要使用一个名为 Rack 的库,该库抽象出服务器和应用程序本身之间的接口(interface)。它允许您使用相同的 Web 服务器和其他基础设施,并在不同的 Ruby 框架之间切换 - 因此,如果您使用 Rails、Sinatra 或 Merb,Rack 允许它们都与同一服务器通信。

    现在,Rack 允许您编写“Metal”代码,这些代码可以直接在服务器上运行,而不会受到框架的阻碍。你编写 Metal 代码的原因是为了性能——当 Metal 代码运行时,它是直接运行的,而不是受到 Rails 框架的影响。这样,您可以获得更好的性能。我从来没有写过任何 Metal 代码,所以除此之外我无法真正解释它。

    Extensive usage of .yml files. What are those for? In rails 2.0.2, all I came across was the database.yml. Now, in gitorious, I see gitorious.yml. How are all these so customized? I mean, how do rails app(controllers, models, etc..) communicate with gitorious.yml?



    .yml 文件是 YAML 中的文件格式。在 Rails 中,这些主要用于配置。正如 Java 应用程序使用 XML 文件进行配置一样,.rc 文件在 Unix 中用于配置,.ini 文件(是否?)用于 Windows 上的各种应用程序进行配置,您可以将数据存储在 Rails 使用的 YAML 文件中。应用程序用于配置。由于格式简单,许多 Ruby 和 Rails 应用程序使用 YAML 作为配置文件。

    Ruby 有一个内置的 YAML 模块,可以使用 YAML 模块中的方法加载它们,包括 YAML.load、YAML.load_file、YAML.load_documents 等。要查看它们是如何加载的,我建议最简单的方法是找到字符串“YAML”。在项目中 - 或者实际上是 yml 文件的名称。

    With respect to all these questions, how do I move a level or two up, to call myself an "intermediate Rails programmer" from "Rails novice programmer"? and how do I stay updated of new api, deprecations, in all upcoming Rails transitions?



    我建议在 Rails 更新中保持一定程度的保守性是合适的。我仍在生产站点上使用 Rails 2.3.3,这很好。我可能应该升级到 2.3.8,但我往往不会在生产项目中运行最前沿。

    至于最好的学习方式,我建议你通过 Railscasts - 这些是优秀的简短截屏视频,描述了各种有用的技术,并帮助您了解有关 Rails 框架的大量知识。当您需要做某事时,显然有 API 文档 - 没问题。 Rails Guides都不错,值得一读。

    至于书籍,有使用 Rails 进行敏捷 Web 开发——这是一个非常好的教程。还有 The Rails Way,这是一个大量的桌面引用,根据我的经验,这是了解一些细节的唯一好方法之一。您可能还想查看 StackOverflow 问题 What’s the best resource for learning Rails for a raw beginner? - 因为虽然您显然不是初学者,但推荐的资源是最新的,对于从新手到中级以及向上的学习都很有用。祝你好运!

    关于ruby-on-rails - 如何掌握 Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3274465/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com