首先运行打开ruby控制台,运行rails depot
创建数据库:mysqladmin -u root create depot_development
修改depot/config/下的database.yml
与书上说的不太一样,默认的是sqlite,会创建3个数据库。我们先修改为
development: adapter: mysql database: depot_development username: root password: host: localhost
冒号后都要有空格,而且对tab键敏感。 测试配置:rake db:migrate --trace
然后建立model: ruby script/generate model product
修改depot\db\migrate下的001_create_products.rb文件
class CreateProducts < ActiveRecord::Migration def self.up create_table :products do |t| t.column :title, :string t.column :description, :text t.column :image_url, :string end end def self.down drop_table :products end end
使用ruby生产数据库。运行rake db:migrate
rake命令的作用是自动执行任务
接下来是建立控制器
ruby script/generate controller admin
修改生成的admin_controller.rb文件如下
class AdminController < ApplicationController scaffold :product end
运行ruby script/server
打开localhost:3000/admin你会惊奇的发现
报错了
undefined method `scaffold' for AdminController:Class
上网查了一下,因为Rails2.0.2把scaffold 剥离为插件,也就是说Rails2.0.2里面不能直接使用scaffold了。于是我就先安装了它。 ruby script/plugin install http://dev.rubyonrails.com/svn/rails/plugins/scaffolding/
但是报错 plugin not found……faint
看了下url估计是我机器上没装svn,赶紧把TortoiseSVN下载装上。再次运行。
貌似插件装上了,但是依然报错。rails2.0语法就变了。参考http://www.ruby-lang.org.cn/forums/viewthread.php?tid=2786
所以先将生成的controller和model删除,运行ruby script\generate scaffold product title:string description:text image_url:string
然后再地址栏输入http://localhost:3000/products
版本变化还是很大的,期待AWDWR III的出现吧。
config下的routes.rb是干什么的还没有完全看懂。
rails2.0的指南在JE就有翻译版
http://www.iteye.com/topic/162536