Let's Go!

配置ruby环境及第一次ROR之旅

上一篇 / 下一篇  2011-05-03 16:23:01 / 个人分类:ruby


版本信息(很重要)
Ruby:1.8.7
Rails:2.3.4
sqlite3-ruby-1.2.3-mswin32.gem


配置ror开发环境:
1. ruby install:
http://rubyforge.org/frs/?group_id=167&release_id=45627
下载:rubyinstaller-1.9.2-p180.exe
   rubyinstaller-1.8.7-p334.exe (建议选这个,老版本,稳定兼容性好)
双击进行安装,该勾选的勾选上。
D:\script\ruby>ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32]

2.下载rails:
http://rubyforge.org/projects/rails/
安装:放置目录,cmd下执行命令: gem install rails
D:\script\ruby>rails -v
Rails 2.3.4


第一次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/,
这下好了,错误来了

5. 错误一:no such file to load -- sqlite3
出现原因:新版本的rails,默认是和sqlite3绑定的,当然需要装sqlite3-ruby数据库连接驱动了,

6. 错误二:sqlite3 library to be found
原因:windows环境下缺少   sqlite3 动态库
解决:
(1) 首先下载附件中的rar包sqlite3.rar(535 KB),包里一共有6个文件,将它们全部解压缩到你ruby的bin目录中,假设你的ruby安装在了c盘,
那么这个目录就应该是 c:\ruby\bin

(2) 接下来 开始->运行->CMD

在命令提示符里面敲 gem  install -l c:\ruby\bin\sqlite3-ruby-1.2.3-mswin32.gem 回车

看到下面的提示

C:\>gem install -l c:\ruby\bin\sqlite3-ruby-1.2.3-mswin32.gem
Successfully installed sqlite3-ruby-1.2.3-x86-mswin32
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.3-x86-mswin32...
Installing RDoc documentation for sqlite3-ruby-1.2.3-x86-mswin32...

说明你安装sqlite3-ruby成功了

注意:
有人说是:sqlite3-ruby最新版不支持windows,装个老版本的就行了
gem install sqlite3-ruby --version 1.2.3
不用试了,版本之间确实有差别,就用这个,没问题。
有说1.9.2和sqlite3之间的兼容有问题。

其他下载地址:
下载:sqlite3   (不是sqlite)
下载SQLite3安装包,应该包含三个文件,sqlite3.exe, sqlite3.def和sqlite3.dll,把这三个文件都放在ruby/bin目录下
http://www.sqlite.org/download.html
--> Precompiled Binaries For Windows
sqlite-shell-win32-x86-3070600.zip     ---------->    sqlite3.exe
sqlite-dll-win32-x86-3070600.zip       ---------->    sqlite3.dll , sqlite3.def     

下载:sqlite3-ruby  ---> sqlite3-ruby-1.3.1.gem
地址: http://rubyforge.org/frs/?group_id=254&release_id=44105
安装 gem install sqlite3-ruby-1.2.3-mswin32.gem
###注意:不是这个:sqlite-ruby

 


7.上面修改完毕,再刷新页面::

错误三: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

render_text 是废弃用法,Rails在1.2.6 会给出废弃提示,而在2.x版中会去掉这些废弃方法的兼容,以保持代码的简练。


修改为:class MyTestController < ApplicationController
  def index
        render:text=> "Hello world"
  end
end

修改完毕后再刷新,可以成功返回:Hello world


在此过程中可以查看log\development.log
  Status: 500 Internal Server Error
  no such file to load -- sqlite3

启动server:
ruby script\server

generate生成controller,然后编辑之:
ruby script\generate controller MyTest
 
 
ruby相关项目下载总站:
http://rubyforge.org/

参考:
1. http://xuxiangpan888.iteye.com/blog/266696
2. http://www.51testing.com/index.php?uid-202848-action-viewspace-itemid-235545

 


TAG:

测试天堂 引用 删除 ljonathan   /   2011-07-19 23:26:52
http://rubyonrails.org/download
 

评分:0

我来说两句

Open Toolbar