浏览 4482 次
锁定老帖子 主题:Rails2之Depot
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-09
从Depot建立开始 Let's code! 同样,建立Depot工程 rails depot 首先,打开\config\database.yml文件 可以到如下代码 # SQLite version 3.x # gem install sqlite3-ruby (not necessary on OS X Leopard) development: adapter: sqlite3 database: db/development.sqlite3 timeout: 5000 在rails 2.02中,默认使用sqlite3作为默认数据库,把它配置成你喜欢的数据库 这里用MySQL作为例子,即和之前一样。也可以通过 rails todo -d mysql来生成对应MySQL的database.yml development: adapter: mysql encoding: utf8 database: Depot_development username: root password: host: localhost 值得一提的是,在Leopard操作系统下,生成的database.yml中 host: localhost被替换成 socket: /opt/local/var/run/mysql5/mysqld.sock 其中socket后面的内容可能不一样,这取决于你的操作系统。 如果需要把这个socket改成host的形式,需要安装MySQL的驱动 sudo gem install mysql -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config 详细可以看http://www.iteye.com/topic/153842 在Rails1.2中,需要手动建立好数据库Depot_development 现在只需要执行 rake db:create来生成相应的数据库。该语句默认生成的是development数据库,如果需要手动生成test和production数据库,需要指定RAILS_ENV。如 rake db:create RAILS_ENV=production同样的道理,在部署production模式的时候,也可以通过制定RAILS_ENV来实现 也可以一次性把production数据库和test数据库一起建好,通过执行 rake db:create:all 接下来,就是scaffold出场了,原来的scaffold已经不再适用,需要RESTFul方式的调用。 以下是原来的代码: ruby script/generate model product 需要在相应的位置添加如下代码 t.column :title, :string t.column :description, :text t.column :image_url, :string 再生成controller才能插入scaffold 现在,新的scaffold需要这样来调用 ruby script/generate scaffold admin title:string description:text image_url:string 这里的 title:string description:text image_url:string为原来的model里头的代码 执行 ruby script/server访问http://127.0.0.1:3000/admins 是不是看到了久违的scaffold呢? 我们也可以在config/routes.rb中添加如下代码,设置访问http://127.0.0.1:3000的默认controller map.root :controller => 'admins' map.resources :admins 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-02-27
虽然之前已经搞定了,但是还是对作者表示崇高的敬意.顶
|
|
返回顶楼 | |
发表时间:2008-06-16
要是可以用radrails 来展示就更好了...
|
|
返回顶楼 | |
发表时间:2008-06-16
用上了restful的scaffold最好把admin换成名字空间,下面做products,不然不能体现REST的语义URL与RPC架构的不同
|
|
返回顶楼 | |