gpt4 book ai didi

ruby-on-rails - Ruby 和 Ruby on Rails 入门

转载 作者:行者123 更新时间:2023-12-02 07:53:14 26 4
gpt4 key购买 nike

一些背景:

我是个多面手,其中之一就是编程。我通过 Excel 和 PHP 学习了 VB6 来创建网站,到目前为止它对我来说效果很好。我不是 CS 专业的,甚至没有数学倾向 - 逻辑是我感兴趣的。

当前状态:

我愿意学习新的更强大的语言;我第一次涉足这条路线是学习 Ruby。我去了the main Ruby website并做了互动介绍。 (顺便说一句,当我尝试链接时,我目前被重定向到 google.com...它也发生在其他网站上...我的计算机是否被感染了?)

我喜欢我学到的东西,并想开始使用 Ruby 来创建网站。我下载并安装了 InstantRails;到目前为止一切都很好——程序启动得很好,我可以在控制台中测试一些 Ruby 代码。然而,当我尝试查看带有 Ruby 代码的网页时,我的麻烦就开始了。

最后,我的问题:

与在 PHP 中一样,我可以直接浏览到 .php 文件,并通过使用 PHP 标记和一些简单的“echo”语句,我可以制作动态网页。然而,在 InstantRails 应用程序运行时,访问 .rb 或 .rhtml 页面不会产生类似的结果。我制作了一个名为“test.rb”的简单文本文件,并将基本的 HTML 标签(html、head、body)和 Ruby 标签 <%= 和 %> 放入其中,其中包含一些 ruby​​ 代码。该网页实际上显示了标签和代码——就好像它只是纯 HTML 一样。我认为 Ruby 在页面显示给用户之前不会解析页面,但这是我对 Ruby 环境缺乏了解的地方。我从这里去哪里?

修正案: This tutorial对我帮助很大!我建议任何处于我位置的人都去那里。

最佳答案

首先,你必须断开文件和URL之间的关系。Rails 使用 MVC 方法,这与基于脚本的方法(如 ASP/PHP)截然不同

在经典的 PHP 中,你有这样的东西

  1. Server> 服务器已启动,提供来自 /usr/jake/example.com/htdocs/
  2. 的脚本
  3. 用户>请给我/home.php,谢谢!
  4. Server> OK,/home.php 映射到/usr/jake/example.com/htdocs/home.php
  5. 服务器> 执行/usr/jake/example.com/htdocs/home.php
  6. 服务器> 好的,它打印出一个“Hello World!”,将其发送到响应。
  7. 用户> 好的,/home.php 显示“Hello World!”

然而,大多数 MVC 框架(包括 Rails)都是这样的:

  1. Server> 服务器启动,初始化路由模块 routes.rb
  2. 用户>请给我/home,谢谢!
  3. Server> OK,/home,根据路由模块,由 Controller FrontpageCtr
  4. 中的操作 ShowHomepage() 处理
  5. 服务器>执行FrontPageCtr.ShowHomepage()
  6. Ruby> FrontPageCtr.ShowHomepage() 打印“Hello World!”
  7. Server> 好的,正在发送“Hello World!”下水管!
  8. 用户> 好的,/home 显示“Hello World!”

如您所见,用户输入地址栏的内容与任何脚本文件之间没有任何联系

在典型的 MVC 框架中,处理对任何 URL 的请求都是这样的:

  1. 查看 Routing 模块(对于 rails,它在 routes.rb 中定义)
  2. 然后路由模块会告诉服务器应该使用哪个“Controller”和“Action”来处理请求。
  3. Rails 然后创建 Controller 并调用可能的 Action 函数
  4. Action 的结果然后得到“呈现”,在这种情况下,它应该将 .rhtml 文件呈现为实际的 HTML ......当然,还有其他类型的结果例如将用户发送到另一个 URL 等等。
  5. 然后将结果写出到响应流并由用户的浏览器显示。

简而言之:您必须首先断开脚本和 URL 的概念。当您构建 MVC 网站时,它们几乎总是以大多数人理解的方式相关。

考虑到这一点,您应该更适应学习 Rails 和 MVC 的生活方式。

我不是 Rails 专业人士,所以如果我有任何错误,请纠正我。

关于ruby-on-rails - Ruby 和 Ruby on Rails 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459651/

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