如果是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。

 

 

 

 

 

 

 

 

 

 

 

 

评论
fantasybei 2008-03-09
我也有和zcwdlove一样的问题,o6z能不能帮下忙哈、?
zcwdlove 2008-02-29

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

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

 

 

 

 

 


请教楼主,在2.0.2以前scaffold的写法是 ruby script/generate scaffold Product(模型类名称) Admin(控制器名称),如今好象不能添加模型类名称了,而且数据库里的表名称也成了admins ,这显然不是我想要的结果,遇到这个问题有好的办法解决吗?恕我愚昧
zcwdlove 2008-02-27
近日对着书照着做,由于rails版本的更新老是报些莫名其妙的问题,看到楼主的帖子后2分钟解决问题,,,小弟十分感谢.希望楼主以后能多发表些好帖,大家共同进步!
bbiao 2008-01-31
是一个初学RoR很好的例子~~
demoz 2008-01-14
hgq0011 写道
现在遇到一个很郁闷的事情.就是公司只开了一部分网站.
所以,我不能通过网络安装rails.:(


如果是windows系统,请参见
http://www.javaeye.com/topic/151705
我在帖子中提供了rails2.02所有的组件和sqlite3的下载
Auckland 2008-01-11
ozzzzzz 写道
很遗憾,这个问题的解释,我将看情况,在适当的时候进行。大概时间会在年后,不过内容总体来说同rails的关联不大,而且可能同技术层面的联系都不大。
如果各位没兴趣和我搞方法论论玄,就不需要关注了。


说说我的看法。并不敢擅自揣测o6z的意思。

一个框架不仅要为广大程序员提供方便的编程环境,(例如,rails 诸多优点)
还要保证编程能力不同的人可以通过他来完成质量较高,水平相对一致的产品。
就像是一个自动化生产线,不仅要高速的运转生产产品。
还要保证工厂的大部分员工可以操作它生产出质量一致的产品。
回头看看例子里的这些例子:
rails todo -d mysql  
rake db:create:all
db:rollback
rake db:migrate 
ruby script/server


在方便了我们的同时,也起到了一定导向或者约束的作用。
程序员觉得这样写代码很方便快捷,就会这样去写代码。
用这样的习惯去编程。慢慢的会发现效率会提高很多。
另一方面也就是说大多数程序员的编程习惯一致了。软件的结构,风格就有了一定的相似性。
(不敢说‘一致’,所以用了相似。)
对于公司,团队和程序员来讲都有自己的好处。

我开始就感觉ruby on rails这个名字很奇怪。
也许这就是为什么叫 on rails 原因。

但是ruby的语言过于灵活了,以至于有不同ruby编程水平的人到了method级别代码的
相似性,质量相似性就不那么好保持一致了。

换个角度想想,如果能设计出一个又方便编程序员编程,又在某种程度上限制了代码的变异程度。
那就伟大了。
在这方面,rails是个很好的例子。
但是我想未来会有更理想的框架出现。

如有不同意见,很期待大家说说。
ozzzzzz 2008-01-11
很遗憾,这个问题的解释,我将看情况,在适当的时候进行。大概时间会在年后,不过内容总体来说同rails的关联不大,而且可能同技术层面的联系都不大。
如果各位没兴趣和我搞方法论论玄,就不需要关注了。
chenk85 2008-01-11
ozzzzzz 写道
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看到介绍。今天又在这里看到。

 

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


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

这么深奥的话oz能不能给个解释?
t0uch 2008-01-11
ozzzzzz 写道
如果在程序的结构和需求的结构之间的粒度可以统一在合适的粒度上,那么编号的可变异性就非常的小。这一点对我来说非常非常重要。
一直看不懂o6z说的话,唉,理解能力问题
ozzzzzz 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看到介绍。今天又在这里看到。

 

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


没关系,其实我是很重视这个问题的,所以其实我是很感谢你给我提出了。 但是这个事情,我得到的消息是,这个程序确实是我朋友自己写的。而我的引用也得到他的认可。 不过更加关键的是,这个事情恰好证明了我的一个看法。所以我更加感谢你的提示。确实是踏破铁鞋无觅处,得来全不费功夫。嘿嘿,再次感谢了。 这个例子说明,如果在程序的结构和需求的结构之间的粒度可以统一在合适的粒度上,那么编号的可变异性就非常的小。这一点对我来说非常非常重要。
chenk85 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看到介绍。今天又在这里看到。

 

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

hgq0011 2008-01-10
现在遇到一个很郁闷的事情.就是公司只开了一部分网站.
所以,我不能通过网络安装rails.:(
ozzzzzz 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/

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

 

chenk85 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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
baxiaopeng 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下载插件。


说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?
chenk85 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下载插件。
agate 2008-01-10
回楼上的,不需要吧……
magicgod 2008-01-10
scaffold貌似要装插件的吧
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

ozzzzzz
搜索本博客
最近加入圈子
存档
最新评论