热搜词
发表于 2010-12-7 19:11:32 | 显示全部楼层 |阅读模式
本帖最后由 灰儿 于 2010-12-9 10:23 编辑

      闲话少说,先下载 InstantRails ,目前最新的是2.0,但教程中用的是1.7,所以就继续1.7好了。运行一下 InstantRails.exe 程序就安装好了。主界面如下:
01.jpg

      按书中所说,只要运行那个黑乎乎的“I”程序就好,什么Apache啊冲突啊都不用管,因为我们压根不会用到Apache。这个InstantRails真是很好很强大(另一个很好很强大的东东是Heroku,不过那个东东一是有点小慢,二是只能在狐狸浏览器下完美运行,三是它的文件后缀不是.rhtml而是.html.erb)有Ruby环境,有irb(命令行执行Ruby语句的东东),有WEBrick(就是服务器),还有phpMyAdmin(网页方式管理数据库的东东),要是再带个Notepad++完整插件版就更好了……

      懒得抓图了,文字来说吧。“I”→Rails Applications→Manage Rails Applications…,弹出来一个对话框,这是目前已经有的Rails项目。如果是第一次装InstantRails的话,应该带一个菜谱管理程序(cookbook)和一个简易Blog程序(typo-2.60)。我们来“Create New Rails App…”,弹出一个黑框来,也就是传说中的命令行模式。
02.JPG

在命令行里敲

1

rails hello

回车,只见命令行稀里哗啦运行出一堆东西来,rails命令的作用就是创建一个Rails应用程序,空格后面是应用程序的名字,这里它叫做hello。这时,刚才那个弹出的框框应该还没关掉吧?“Refresh List”一下,看到刚才的那个“hello”了吧?勾选之,然后“Start with Mongrel”。我也不知道Mongrel和WEBrick是啥关系,反正运行这个之后,我们就可以看到另一个黑乎乎的窗口,提示诸如“你可以用0.0.0.0:3000访问”啊“按Ctrl+C来结束本程序”啊之类的话,这时候,开个浏览器窗口,输入“http://127.0.0.1:3000”(我还特地试了一下0.0.0.0:3000,结果没用,骗子……),看到一个欢迎页面了吧?
当然,光一个傻傻的欢迎页面是没用滴,我们至少要让他能跟我们互动起来,这样才能算是个“站点”或者“应用程序”吧?
切换窗口到第一个弹出的黑窗。既然学语言,dos命令好歹要会点吧?多的不说,dir、md、cd、rd这种简单的该会吧?(其实我也就记得这么点了=_=)cd hello,在这个目录下再敲:
1

ruby script/generate controller say

generate,是一个脚本,它存在script目录下,我们用ruby调用之,并让它来生成一个控制器(controller),一个名为say的controller。程序又是稀里哗啦一阵反应(当然前提是你没敲错语法),生成了一堆文件,文件名自己看去。别的不管,来看“app/controller/say_controller.rb”这个文件。我们想要一个叫say的controller,ruby就给我们生成出来一个,不过是叫“say_controller.rb”而已,.rb就是ruby文件的扩展名。找个文本编辑器打开之,Windows记事本亦可。在里面写上:
1
2
3
4

class SayController < ApplicationController
  def hello
  end
end

这就是在say这个controller下定义了一个名为“hello”的方法。敲完代码之后我喜欢立刻看到效果,怎么看呢?在浏览器里敲:“http://127.0.0.1:3000/say/hello”,say是controller,hello是方法,嗯,结构清晰。啥?报错了?模板未找到?仔细看看报错信息,“xxx/xxx/app/views/say/hello.rhtml”未找到。哦,没错,是没找到,我们还没写呢……方法要对应一个.rhtml文件,记住了……
找到它要的那个目录,新建一个“hello.rhtml”文件,在里面敲……随便敲点啥都行,比如:
1
2
3

<html>
<h1>Hello from Rails!</h1>
</html>

反正能显出东西来就成,再刷新http://127.0.0.1:3000/say/hello这个页面,出东西了吧?嘿嘿。
明天继续抄……
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-11-25 06:51 , Processed in 0.152932 second(s), 25 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team