第一步、配置环境,不多废话,直接开始下列步骤:1.到http://www.rubyonrails.org下载ROR的windows安装包2.点击安装文件ruby184-20.exe,一路next完成安装3.运行开始菜单->程序->Ruby-184-20->rubygems->RubyGems Package Manager进入命令行4.gem install rails --include-dependencies安装rails5.rails <你的程序开发路径>,浏览你的目录,发现生成一些不明文件,先不管它.6.cd <你的程序开发路径>7.ruby script/server8.浏览器中敲入:http://localhost:3000,出现一些不明页面,表示你的配置环境已经okey.9.完成测试第二步、熟悉开发目录,查看自己指定的开发目录后一看,暴汗,这么多的目录,还是先学习一下文件目录好了网上查阅了一些资料后收录如下:
1.app目录:我们日常的开发工作基本就在这里了 controllers:子目录存放Rails要查找控制类。控制器处理来自用户的一个Web请求 helpers:子目录持有所有用于支持模型,观察器,和控制器类的帮助类。帮助类可使模型,观察器,和控制器的代码小,专注,和整洁 models:子目录存有模板和包装我们在应用程序数据库内存储的数据的类。在大多数框架中,应用程序的这一部分可会增长得非常杂乱,冗长,并更倾向于错误。Rails将它变得非常简单 views:子目录存有用我们的应用程序的数据库填充有数据的显示模板2.components:可重用的组件(太高深了,之后再做补充)3.config:数据库连接参数控制4.db:数据表信息5.doc:自动生成的说明文件,估计类似于javadoc6.lib:共享代码7.log:程序运行的时候产生的日志文件8.public:程序运行的时候真正运行的目录9.script:没有搞明白.之后补充.10.test:当然是单元测试了11.vendor:第三方代码看的有点晕,究竟是什么东西呢.继续探索中第三步、查疑补惑当然首先想搞清楚controller了,毕竟浏览器发出请求后要通过它来转发地。所有的WEB请求的URL映射到一个控制器类内的一个方法,这个工作rails是怎么做到地,带着疑问我来继续查看文档。1.ruby scriptgenerate controller MyDemo发生了什么情况哦,命令行中显示如下:
exists app
/
controllers
/
exists app
/
helpers
/
create app
/
views
/
my_demo exists test
/
functional
/
create app
/
controllers
/
my_demo_controller.rb create test
/
functional
/
my_demo_controller_test.rb create app
/
helpers
/
my_demo_helper.rb
发现创建了一个app/controllers/my_demo_controller.rb,打开一看,代码如下:
class
MyDemoController
<
ApplicationController end
2.在地址栏目敲入http://localhost:3000/My_Demo发现显示
Unknown action No action responded to index
哦,有点明白了,类似于找不到index方法3.my_demo_controller.rb中加入
def index render_text
"
hello world
"
end
4.刷新,helloworld出来了。汗,一个rails的helloworld被我搞出来了,可是还是晕,什么都不明白哦别着急兄弟,接着我会再写的,今天当玩了一票。晚上回去继续玩
刚才玩了一会后再看文档发现,哦,原来controller默认去寻找index了http://localhost:3000/My_Demo等同于http://localhost:3000/My_Demo/index同理我在my_demo_controller.rb中再添加一个方法index1 def index1 render_text "haha,the second helloworld" endhttp://localhost:3000/My_Demo/index1,哦,是不太一样了。那我改为 def index1 render_text "哈哈,偶的中文您好" end刷新它,靠,跟以前java的破毛病难道一样,乱码问题又出来了吗?我仔细看了看,哦,浏览器默认选择的是UTF-8,怪不得了,选择为gb2312后中文就出来了,吓了偶一跳啊。赶紧给大家贴出来 |