照猫画虎:迭代A1

首先运行打开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

参看http://www.workingwithrails.com/forums/4-ask-a-rails-expert/topics/58-no-route-matches-with-method-get-error-in-awdwr-book

 

版本变化还是很大的,期待AWDWR III的出现吧。

config下的routes.rb是干什么的还没有完全看懂。

rails2.0的指南在JE就有翻译版

http://www.iteye.com/topic/162536

 

你可能感兴趣的:(sqlite,SVN,Ruby,Netbeans,Rails)