建立应用程序
rails depot -d mysql #注rails 2.0之后采用sqlite做为默认数据库,使用mysql做为数据库需要加参数
若是点击刚刚的静态页面中的About your application’s environment,我们会看到Rails已经对我们当前的配置进行了检测。
很可惜,会出现一个很严重的错误,到现在我们只是在建立depot的时候申明了我们将使用mysql,剩下就没有对数据库进行过任何操作。
在建立数据库之前需要在/depot/config中的database.yml文件中,配置mysql的参数(注意空格) rake db:create #便会创建一个于depot相关的数据库。在这个例程中所有需要保存的数据库信息,都会放在这个数据库内。
可以查看mysql中建立好的数据库
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.0.67-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | depot_development | | mysql | | test | +--------------------+ 4 rows in set (0.03 sec) mysql>
数据移植
rake db:migrate 上面这个命令要在例程中用到多次,功能是将rails应用中间的有关的数据类型的更改迁移映射到数据库中间去。 比如创建了一个scaffold(后面我们会用到),我们需要用rake db:migrate将其迁移到数据库。
建立一个页面
ruby script/generate scaffold product title:string description:text image_url:string
这一句命令包含了相当丰富的内容。 顾名思义,scaffold,暂且我们将之意思归到“架构”。
我们通过这句话建立了一个这样的架构,它有自己的页面,可以通过http://localhost:3000/products访问
它包涵了一个叫products的表,这个表的内容就显示在刚刚的页面中。
并且这个表有3列,第一列是数据类型为string的title,然后是数据类型为text的description,然后是string的image_url。
rake db:migrate #建立好页面后需要把页面中的内容迁移到数据库(建表)
Rail敏捷开发第三版之前的报错解决方法
ruby script/generate scaffold Product Admin 执行后错误代码 --> wrong number of arguments (1 for 2) 原因 --> rails 2.1 scaffold 支架变更 解决方法 ruby script/generate scaffold product name:string description:text price:decimal