浏览 1938 次
锁定老帖子 主题:第一次ROR之旅
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-08
第一次ROR之旅 1、创建一个rails目录 rails mybook 2、,进入 mybook 目录。运行 ruby script\server 这条命令是运行 script 目录下的 server 命令来启动 webrick 服务器 3、打开浏览器 ,输入网址http://127.0.0.1:3000/ 如果不出以外应该可以看到一个ROR的页面 4、编辑 controller 类 打开新的 DOS 命令行,运行 ruby script\generate controller MyTest c:\ruby\work\mybook\app\controllers 目录中将生成一个包含 MyTestController 类定义骨架的名为 my_test_controller.rb 的文件 c:\ruby\work为我的工作路径 鼠标右键点击此文件,选择”edit” 打开编辑此文件 class MyTestController < ApplicationController def index render_text "Hello world" end end 在浏览器中访问 http://127.0.0.1:3000/My_Test/, 这下好了,错误来了 错误一:MissingSourceFile in My testController#index 出现原因:心版本的rails,默认是和sqlite3绑定的,当然需要装sqlite3了,在命令行中输入:gem install sqlite3-ruby进行安装 还以为这样就万事大吉了,重新启动 webrick 服务器,刷新http://127.0.0.1:3000/My_Test/ 错误以一种新的面孔出现了 错误二:This error occurred while loading the following files: sqlite3/driver/dl/driver sqlite3/driver/dl/api 原因:缺少 sqlite3 解决:将下载的sqlite3.dll和sqlite3.exe拷贝到ruby\bin目录下,使用命令ruby script/server重启WEBrick,刷新http://127.0.0.1:3000/My_Test/ sqlite3.dll和sqlite3.exe下载地址:http://www.sqlite.org/download.html 再次以为这样就行了,错误在继续中…… 错误三:NoMethodError in My testController#index undefined method `render_text' for #<MyTestController:0x37c8d48> RAILS_ROOT: C:/ruby/work/mybook app/controllers/my_test_controller.rb:3:in `index' 原因:rails版本支持的问题 解决: 将class MyTestController < ApplicationController def index render_text "Hello world" end end 修改为:class MyTestController < ApplicationController def index render:text=> "Hello world" end end 需要修改的部分为红色显示的字体,不知道为什么rails的版本支持会出现这种问题……纳闷中…… 不过到此为止,终于可以开始ROR之旅了…… 心里那个high啊……继续玩转ROR去…… ps:关于rails 是如何将 url 和控制器中的函数做简单映射的一些解释,在运行 ruby script\generate controller MyTest 的时候, rails 做了一些默认的假设。 MyTest 对应的 controller 文件是 my_test_controller.rb, 文件中控制器类名是 MyTestController,而 url 映射是 /My_Test/ . 这些默认规定的好处是:我们不再需要编辑复杂的配置文件,只要对相应的文件做编辑就可以了。我们只需要关注程序逻辑,而不是其它什么,这就是 rails 设计原则中的“习惯约定优于配置”。 另外也有一点 ruby 动态语言的好处,这点是 java 所无法办到的。在编辑完 controller 后,重新刷新页面,就可以使程序生效。对于编译型的 java 语言来说,不重新编译,重新启动服务器是无法做到这点的。Rails 开发的易用性可见一斑了………… 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-09
引用 不知道为什么rails的版本支持会出现这种问题……
render_text 是废弃用法,Rails在1.2.6 会给出废弃提示,而在2.x版中会去掉这些废弃方法的兼容,以保持代码的简练。 |
|
返回顶楼 | |