参考资料:ruby_on_rails入门资料
玩什么新东西,开始总会遇到点麻烦了,折腾了两天,今天终于按照入门教材上说的,把ROR的入门的例子实现
分享一下过程:
实现:对数据库单表的CRUD操作
开发环境:
windows 2003 server
MySQL5.0
Ruby版本: ruby 1.8.6 (ruby -v 查看)
gem版本: 1.3.1 (gem -v 查看)
rails版本:2.1.0 (gem list 查看)
1.创建空的rails网页应用程序骨架
由于在Eclipse中已经安装了插件
可以通过Eclipse中新建rails项目来完成
项目名这里取为 ebook
启动web服务 执行 script\server (在Eclipse中)
也可通过控制台命令: ruby 项目目录\script\server
启动webrick服务器
启动后,打开IE http://127.0.0.1:3000 会浏览到Welcome页面
Rails开发工作的大部分在创建和编辑apps目录中的文件
controllers目录存放rails应用中的controller类,处理来自web请求
views目录存放相应的模板文件,模板文件填充数据后,转换为html格式传递到浏览器(客户端)
models目录存放数据模型,模型类封装了数据库中的数据
helpers目录存放了简化controllers,models,views使用的帮助类
2.创建数据库
建立ebook数据库 建立books表
字段:
id int
title varchar
description varchar
buydate date
3.配置数据库信息
项目目录\config目录
database.yml文件
(注意格式:不能有Tab)
development:
[两个空格]adapter:[一个空格]mysql
[两个空格]database:[一个空格]ebook
[两个空格]host:[一个空格]localhost
[两个空格]username:[一个空格]root
[两个空格]password:[一个空格]root
test: 与 production: 类似
railse根据不同的环境,选择连接的数据库
重新定义了数据库配置,需要重新启动webrick 服务器才能让rails 找到数据库配置信息
4.生成代码(这步比较关键,昨天在这步上卡住了,呵呵)
按教材上写的是(呵呵,教材比较老了)
(1)执行 项目目录下\script\generate model book
(2)执行 项目目录下\generate controller book 生成 controller 骨架文件 book_controller.r
(3)编辑 项目目录下\app\controllers\ 下的 book_controller.rb
在BookController中加入: scaffold :book
然后执行 http://127.0.0.1:3000/book/new
这时错误就出现了:
undefined method `scoffold' for BookController:Class
到网上查了好多资料,基本都是说
说是因为rails2.0把动态的scaffold去掉了,scaffold是作为插件了
可以通过单独安装插件
执行:项目目录下\script\plugin install http://dev.rubyonrails.com/svn/rails/plugins/scaffolding/
尝试后,发现依然不起作用,而且插件的下载地址也无法访问到
后来在网上查到,讲到可以这样来执行
项目目录下\script\generate scaffold ModelName [field:type field:type]
field 字段名
type 字段类型
然后将models controllers views helpers中生成的book相关的都删除,这一步一定要做
删除后,执行:项目目录下\script\scaffold book id:int title:string description:string buydate:date
执行完成后
http://localhost:3000/books 可以看到List界面已经显示了
同时add edit delete操作 都可以正常进行
唉..........不容易啊
[补充知识]
环境(environment)
一个Rails程序的运行时配置(Runtime configuration)由两个文件完成
一个是config/environment.rb,并不依赖于具体环境
第二个文件依赖于环境,Rails根据当前的环境名在config/environment目录里查找对应的文件,并且在处理environment.rb的时候加载这个文件
标准的三种环境作为默认配置已经包含了,可以在config/environment目录下看到三个文件:
development.rb,production.rb,test.rb,如有特殊的环境要求,可以在这里添加配置文件