某些背景:
我是一个万能的交易,其中一个是编程。我通过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环境缺乏了解的地方。我从哪里开始?
AMMENDMENT: This tutorial对我帮助很大!我建议那些在我位置的人去那里。
答案 0 :(得分:6)
首先,您必须断开文件和网址之间的关系。 Rails使用MVC方法,这种方法与基于脚本的方法(如ASP / PHP
)不同在经典PHP中,你有这样的东西
/usr/jake/example.com/htdocs/
/home.php
,谢谢!/home.php
已映射到/usr/jake/example.com/htdocs/home.php
/usr/jake/example.com/htdocs/home.php
/home.php
显示“Hello World!”但是,大多数MVC框架(包括Rails)都是这样的:
routes.rb
/home
,谢谢!/home
由控制器ShowHomepage()
中的操作FrontpageCtr
处理FrontPageCtr.ShowHomepage()
FrontPageCtr.ShowHomepage()
打印“Hello World!”/home
显示“Hello World!”如您所见,用户放入地址栏的内容与任何脚本文件之间没有关联
在典型的MVC框架中,处理对任何URL的请求都是这样的:
routes.rb
中定义了rails的情况下).rhtml
文件渲染为实际的HTML ...当然,还有其他类型的结果,例如将用户发送到另一个URL和诸如此类的东西。简而言之:您必须先断开脚本和URL的概念。当您构建MVC网站时,它们几乎总是 NOT 以大多数人理解的方式相关。
考虑到这一点,你应该更习惯学习Rails和MVC的生活方式。
我不是Rails专业版,所以如果我在任何方面弄错了,请纠正我。
答案 1 :(得分:1)
我建议通过Agile Web Development with Rails购买和工作,这是一本很好的书,也是学习Ruby和Rails的非常实用的方法。它可以立即以各种电子格式提供,如果您愿意,还可以获得纸质副本。
根据您的描述,您对Ruby和Rails的工作原理有着根本性的缺陷。我建议你花点时间阅读这本书,然后回来询问你遇到的任何事情。
答案 2 :(得分:0)
Rails是“在向用户显示页面之前解析页面”,如果找到要修改的正确文件;-)要修改的文件位于以下文件夹中:
应用程序/视图/...
这是简短的回答。对于全面的(对于新手),我强烈建议:http://guides.rubyonrails.org/getting_started.html
答案 3 :(得分:0)
开始使用Ruby on Rails起初有点令人生畏,但是在你开始使用之后它会变得容易多了。在为启动加速器,哈佛商学院,时代广场,波士顿和匹兹堡运行Ruby on Rails bootcamps后,我开始http://www.firehoseonline.com。这是一个入门的视频教程,因此您应该查看该网站。
我的建议是通过实际编写代码来尽可能多地学习。不要过多地关注细节和细节。如果教程为您提供了一些要编写的代码和一些信息,并且您最初没有吸收所有信息,请继续。然后回到材料,一旦你完成了编写第一个应用程序的整个过程,很多部分就会合在一起。
至于你直接打开php文件的问题,使用MVC模式有点不同。在开始将代码放入.rhtml
(或现在的.html.erb
)文件之前,您需要设置控制器,视图和路由。由于这种架构,你将能够编写很多令人敬畏的,干净的代码,速度非常快,但是你可能有点棘手(如果你真的想以其他框架的方式编写代码,但相信我们这种方式更好)。坚持下去!
保持你的编码极高!
阿罗哈, 肯