论坛首页 Ruby版 rails

rails2.02快速体验

浏览 4811 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-01-09

如果是windows下的用户,而又不是使用instant Rail,那么需要进行以下步骤。

1、下载sqlite的exe和dll文件,然后将其放入系统path。(有些linux发行版本默认安装了sqlite,无需再次安装)

2、确定你下载的sqlite版本,如果是sqlite3(注意放入path目录的文件应该保持的sqlite3.exe和sqlite3.dll,不要改名为sqlite.exe和sqlite.dll),在命令行运行

gem install sqlite3-ruby

 安装sqlite3的ruby驱动。

3、新建一个Rails程序

本想自己写点代码,可是网上有个5行的todo,我就懒了。

rails todo

这时使用的是默认的sqlite3做数据库。如果你希望使用mysql,则输入

rails todo -d mysql

有点rails经验的人会发现这个“-d”的新东西。如果你是在mysql下,往往需要修改config目录下的database.yml文件。

development:
  adapter: mysql
  encoding: utf8
  database: blog_development
  username: root
  password: root
  socket: /opt/local/var/run/mysql5/mysqld.sock

test:
  adapter: mysql
  encoding: utf8
  database: blog_test
  username: root
  password: root
  socket: /opt/local/var/run/mysql5/mysqld.sock

production:
  adapter: mysql
  encoding: utf8
  database: blog_production
  username: root
  password: root
  socket: /opt/local/var/run/mysql5/mysqld.sock
 不过有些人觉得这样很不爽,于是有了这样的
defaults: &defaults
  adapter: mysql
  encoding: utf8
  username: root
  password: root
  socket: /opt/local/var/run/mysql5/mysqld.sock

development:
  database: blog_development
  <<: *defaults

test:
  database: blog_test 
  <<: *defaults

production:
  database: blog_production
  <<: *defaults

当然出于安全考虑,谁也不会用这样的配置去搞到生产环境下。不过这样看着确实爽多了。

2、新建数据库

既然上面配置好了,那么下面就该实际的联起来用了。

cd todo
rake db:create:all

这里又一个新东西“rake db:create:all”,它将给你建立起各个数据库,现在不需要你自己去手工搞了。是不是比以前爽了。

D:\work\todo>rake db:create:all
(in D:/work/todo)
"db/development.sqlite3 already exists"
"db/production.sqlite3 already exists"
"db/test.sqlite3 already exists"
 上面是我这里运行成功的提示。

下面是个说明

db:charset	Retrieves the charset for the current environment’s database 
db:collation	 Retrieves the collation for the current environment’s database  
db:create	 Create the database defined in config/database.yml for the current RAILS_ENV
db:create:all	Create all the local databases defined in config/database.yml
db:drop		  Drops the database for the current RAILS_ENV
db:drop:all	 Drops all the local databases defined in config/database.yml
db:reset	  Drops and recreates the database from db/schema.rb for the current environment.
db:rollback	 Rolls the schema back to the previous version. Specify the number of steps with STEP=n
db:version	 Retrieves the current schema version number

这里注意有了个新的“db:rollback”命令,比以前用爽多了。

rake db:migrate VERSION=xxx
 可以说byebye了。

3、真正的算代码的东西就一行

ruby script/generate scaffold Todo title:string body:text done:boolean due:datetime

 前几个月大家还在感叹model里面竟然可以那样sexyness,现在看看这个直接在命令行搞定,现在该用啥词形容好呢。

最后别忘记

rake db:migrate

4、运行起来看看。

ruby script/server

然后用浏览器访问下面的链接127.0.0.1:3000/todos

搞定了一个todolist。

 

 

 

 

 

 

 

 

 

 

 

 

   
时间:2008-01-10
scaffold貌似要装插件的吧
   
0 请登录后投票
时间:2008-01-10
回楼上的,不需要吧……
   
0 请登录后投票
时间:2008-01-10
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。
   
0 请登录后投票
时间:2008-01-10
chenk85 写道
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?
   
2 请登录后投票
时间:2008-01-10
baxiaopeng 写道
chenk85 写道
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?

好,我错了。oz的确不是抄袭,oz把原文的例子结合自己的想法再加上一些资料和解释然后发表的,这是很好很方便我等菜鸟。oz的分享精神和研究精神是值得学习的。

我只是想说如果oz把原文的链接也贴在最后,或者写在文章里比较尊重原作者。oz也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
   
0 请登录后投票
时间:2008-01-10
chenk85 写道
baxiaopeng 写道
chenk85 写道
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?

好,我错了。oz的确不是抄袭,oz把原文的例子结合自己的想法再加上一些资料和解释然后发表的,这是很好很方便我等菜鸟。oz的分享精神和研究精神是值得学习的。

我只是想说如果oz把原文的链接也贴在最后,或者写在文章里比较尊重原作者。oz也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。

但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
写道
Rob Mayhew prepared this ToDo List Tutorial

而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。

暂且给了可能是原创的来源

http://robmayhew.com/rails-201-todo-list-tutorial/

这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。

 

   
0 请登录后投票
时间:2008-01-10
现在遇到一个很郁闷的事情.就是公司只开了一部分网站.
所以,我不能通过网络安装rails.:(
   
0 请登录后投票
时间:2008-01-10
ozzzzzz 写道
chenk85 写道
baxiaopeng 写道
chenk85 写道
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?

好,我错了。oz的确不是抄袭,oz把原文的例子结合自己的想法再加上一些资料和解释然后发表的,这是很好很方便我等菜鸟。oz的分享精神和研究精神是值得学习的。

我只是想说如果oz把原文的链接也贴在最后,或者写在文章里比较尊重原作者。oz也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。

但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
写道
Rob Mayhew prepared this ToDo List Tutorial

而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。

暂且给了可能是原创的来源

http://robmayhew.com/rails-201-todo-list-tutorial/

这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。

 


呵呵,oz认真了。

 

那篇文章我大概作者发布后的第二天看到了,后来又在chinaonrails看到介绍。今天又在这里看到。

 

以前我遇到过一次翻译别人文章后来作者来抗议的事情,在外国人对这类事情很重视,貌似有法律保护。所以这次我也认真了一下,如有得罪多多包涵。

   
0 请登录后投票
时间:2008-01-10
chenk85 写道
ozzzzzz 写道
chenk85 写道
baxiaopeng 写道
chenk85 写道
貌似抄袭这篇文章:
http://info-architects.net/2007/12/18/why-rails-is-better-than-whatever-it-is-you-use-todo-list-in-5-lines/

2楼的,新的scaffold插件就不用装,如果使用1.2风格的scaffold就要到svn.rubyonrails.org/rails/plugins下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?

好,我错了。oz的确不是抄袭,oz把原文的例子结合自己的想法再加上一些资料和解释然后发表的,这是很好很方便我等菜鸟。oz的分享精神和研究精神是值得学习的。

我只是想说如果oz把原文的链接也贴在最后,或者写在文章里比较尊重原作者。oz也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。

但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
写道
Rob Mayhew prepared this ToDo List Tutorial

而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。

暂且给了可能是原创的来源

http://robmayhew.com/rails-201-todo-list-tutorial/

这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。

 


呵呵,oz认真了。

 

那篇文章我大概作者发布后的第二天看到了,后来又在chinaonrails看到介绍。今天又在这里看到。

 

以前我遇到过一次翻译别人文章后来作者来抗议的事情,在外国人对这类事情很重视,貌似有法律保护。所以这次我也认真了一下,如有得罪多多包涵。


没关系,其实我是很重视这个问题的,所以其实我是很感谢你给我提出了。 但是这个事情,我得到的消息是,这个程序确实是我朋友自己写的。而我的引用也得到他的认可。 不过更加关键的是,这个事情恰好证明了我的一个看法。所以我更加感谢你的提示。确实是踏破铁鞋无觅处,得来全不费功夫。嘿嘿,再次感谢了。 这个例子说明,如果在程序的结构和需求的结构之间的粒度可以统一在合适的粒度上,那么编号的可变异性就非常的小。这一点对我来说非常非常重要。
   
0 请登录后投票
论坛首页 Ruby版 rails

跳转论坛:
JavaEye推荐