rails2.02快速体验
如果是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。
- 14:09
- 浏览 (5162)
- 评论 (18)
- 分类: rubyonrails
- 进入论坛
- 相关推荐
评论
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 ,这显然不是我想要的结果,遇到这个问题有好的办法解决吗?恕我愚昧
所以,我不能通过网络安装rails.:(
如果是windows系统,请参见
http://www.javaeye.com/topic/151705
我在帖子中提供了rails2.02所有的组件和sqlite3的下载
如果各位没兴趣和我搞方法论论玄,就不需要关注了。
说说我的看法。并不敢擅自揣测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是个很好的例子。
但是我想未来会有更理想的框架出现。
如有不同意见,很期待大家说说。
如果各位没兴趣和我搞方法论论玄,就不需要关注了。
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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。
暂且给了可能是原创的来源
http://robmayhew.com/rails-201-todo-list-tutorial/
这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。
呵呵,oz认真了。
那篇文章我大概作者发布后的第二天看到了,后来又在chinaonrails看到介绍。今天又在这里看到。
以前我遇到过一次翻译别人文章后来作者来抗议的事情,在外国人对这类事情很重视,貌似有法律保护。所以这次我也认真了一下,如有得罪多多包涵。
没关系,其实我是很重视这个问题的,所以其实我是很感谢你给我提出了。 但是这个事情,我得到的消息是,这个程序确实是我朋友自己写的。而我的引用也得到他的认可。 不过更加关键的是,这个事情恰好证明了我的一个看法。所以我更加感谢你的提示。确实是踏破铁鞋无觅处,得来全不费功夫。嘿嘿,再次感谢了。 这个例子说明,如果在程序的结构和需求的结构之间的粒度可以统一在合适的粒度上,那么编号的可变异性就非常的小。这一点对我来说非常非常重要。
这么深奥的话oz能不能给个解释?
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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。
暂且给了可能是原创的来源
http://robmayhew.com/rails-201-todo-list-tutorial/
这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。
呵呵,oz认真了。
那篇文章我大概作者发布后的第二天看到了,后来又在chinaonrails看到介绍。今天又在这里看到。
以前我遇到过一次翻译别人文章后来作者来抗议的事情,在外国人对这类事情很重视,貌似有法律保护。所以这次我也认真了一下,如有得罪多多包涵。
没关系,其实我是很重视这个问题的,所以其实我是很感谢你给我提出了。 但是这个事情,我得到的消息是,这个程序确实是我朋友自己写的。而我的引用也得到他的认可。 不过更加关键的是,这个事情恰好证明了我的一个看法。所以我更加感谢你的提示。确实是踏破铁鞋无觅处,得来全不费功夫。嘿嘿,再次感谢了。 这个例子说明,如果在程序的结构和需求的结构之间的粒度可以统一在合适的粒度上,那么编号的可变异性就非常的小。这一点对我来说非常非常重要。
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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。
暂且给了可能是原创的来源
http://robmayhew.com/rails-201-todo-list-tutorial/
这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。
呵呵,oz认真了。
那篇文章我大概作者发布后的第二天看到了,后来又在chinaonrails看到介绍。今天又在这里看到。
以前我遇到过一次翻译别人文章后来作者来抗议的事情,在外国人对这类事情很重视,貌似有法律保护。所以这次我也认真了一下,如有得罪多多包涵。
所以,我不能通过网络安装rails.:(
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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
但是很遗憾,你提供的链接不是我参考的原文,因为文章里面已经很明确的写了,
而我的来源是email,所以不能给出链接。但是我还是应该使用google搜索一下。不过我现在也在问我的朋友,这个代码是他自己写的,还是别人写的他转述给我的。所以具体情况还不能保证准确,但是有一点可以确定,如果被证实是我朋友写的,那么就请原谅,不能透露他的姓名和地址。
暂且给了可能是原创的来源
http://robmayhew.com/rails-201-todo-list-tutorial/
这次确实是我疏忽,犯懒了。以后有问题都可以直说,我没那么脆弱。
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也不希望明天忽然在网上看到一篇文章又把你的文章改一下,然后提都不提你的原文就发布吧。
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下载插件。
说话不要这么刻薄,什么就“抄袭”啊。楼主好心给大家分享,都是你这样的回复,以后谁还有心情为大家做贡献?
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下载插件。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 81923 次
- 性别:


- 详细资料
搜索本博客
最近加入圈子
最新评论
-
FDD方法讲座普及篇完成
:idea: 好东西,快快开讲吧
-- by 憨老汉 -
几个主题的准备
一直想看FDD的实例
-- by 憨老汉 -
几个主题的准备
o6z啊,这个什么时候出来呀,我都等你好几年了
-- by 憨老汉 -
《JAVA将死?》之后续
别忘了java还有个script,星星之火可以燎原
-- by KKFC -
送一句话
嗯,说的通俗些,就是要多实践:)上面说的那个“五不”人员应该再加一条——“不世出 ...
-- by springhill






评论排行榜