如何开始rails项目

1.安装操作系统(Linux)

经过实践,rails项目可以顺利在windows、linux(Ubuntu)、unix(solaris)下运行
但推荐使用的平台仍是Linux,所以你至少需要熟悉以下内容

安装

我们开发环境使用的是Ubuntu,安装后请阅读速配指南了解ubuntu的基本配置

Ubuntu安装
Ubuntu速配指南

熟悉常用命令

Linux常用命令
常用命令联合使用

安装xp虚拟机

安装xp虚拟机操作系统是为了使用rtx、使用ie访问项目,具体步骤:

安装virtualbox
宿主操作系统为”Ubuntu 8.04 LTS”,按电脑的cpu架构选择i386或者AMD的virtualbox安装包

在virtualbox安装windowns xp精简版
ubuntu下安装xp指南

2.熟悉开发工具(Vim)

经过对netbean、RadRails、Vim的使用,最终选择了Vim作为我们的IDE
vim可以让你在开发过程中尽量减少对鼠标的使用,提高编写效率

Vim快速入门
Vim安装使用

3.了解Ruby

你需要知道模块、类、继承等概念
知道循环,判断等语句
了解String,File等类的常用方法,知道API可以在哪里查询到

要不断实践ruby,irb命令是你的最重要的朋友

二十分钟入门
Ruby延伸
Programming Ruby 1.9

4.熟悉Rails

你需要知道rails的以下内容:

项目的目录结构

rails项目中,也是遵循MVC模式的,开发一个功能时,可根据需要选择以下生成器

#看一下有哪些生成器(Installed Generators)
script/generate
#项目中常用以下生成器
#生成控制器、实体、整合(包括控制器、视图、实体)
script/generate rspec_controller
script/generate rspec_model
script/generate rspec_scaffold

url请求将由rails的哪些控制器中的哪些方法进行处理,需要了解

route机制

出现问题时多查看后台日志
主要检查由前端页面传递至后台的参数params是否正常
并检查控制器对数据库进行操作的SQL是否正确

#查看开发环境的日志
tail -f log/development.log

Rails快速入门
I18n国际化
Agile Web Development
Advanced Rails Recipes

在rails项目中,要遵守[不重复发明轮子]的原则,在开发功能(非业务)前可以先找找
Ruby工具箱

要不断实践rails,script/console命令是你的最重要的朋友

5.前端技术

前端技术中的视图层是采用haml框架生成的,haml代码会转换为html代码,最终在浏览器中显示
另外包含javascript,css两部分
在项目中javascript主要使用jQuery框架编写js代码
css部分使用haml中的sass编写css代码

html入门_共8小节
haml入门
javascript入门
css入门
jQuery入门
jQuery常用插件
jQuery最佳实践之delegate
sass入门

6.数据库(Mysql)

经过实践,rails项目可以连接Mysql,Oracle,Sqlserver,随时可以进行切换
在开发时,我们使用Mysql作为本地数据库,所以你至少需要掌握Mysql数据库

Mysql入门

7.文档数据库(NoSQL)

先看看各大NoSQL软件的对比
NoSQL数据库探讨之一 - 为什么要用非关系数据库?

NoSQL介绍及MongoDB入门
Mongodb入门

mongodb最全最好的学习资料是在官网(支持中文但很不全),上面还有一个TRY IT OUT,可以直接在线学习简单操作

ruby数据库驱动说明

如果采用NoSQL,则rails中就不能再使用ActiveRecord了,需要要对应的ORM
推荐使用mongoid,虽然没有mongomapper那么功能全面,好在对rails3的支持更好(率先支持activemodel等)

mongoid也处于活跃开发期,所以最新资料只能看官网,最稳妥的资料只能看代码了
mongoid官方文档

基于nosql的开源项目现在还比较少,可以参考刚起步的shopqi
shopqi网店平台

8.测试

为保证项目质量,开发过程中需要遵循测试驱动开发

黄瓜测试入门
Rspec入门

9.版本控制Git和GitHub

以上技能掌握后,项目代码就需要进行版本控制及代码托管了

国内公司一般都是自建代码托管服务器,所用版本控制软件大多使用SVN,VSS,CVS
前两个我倒是用过,但我还是要极力推荐Git
Git原生支持分布式代码管理(KO VSS),直观的冲突处理机制(KO SVN)

而基于Git的托管服务器Github,可以说是开源界的改革,使得开源项目真正地开源!
任何开发者可以直接获取开源代码,或追加功能或打补丁,之后只要按个按钮就可以向原作者请求合并
当然了,合并之前一般需要开发者编写好测试用例,保证代码的正确,同时不破坏原有功能

Git使用

如果公司只有svn服务器,折衷的办法就是本地使用git,再远程提交至svn
SVN集中存储

其他资源

Learn Web Design

http://ethanwoo.wordpress.com/2011/03/28/%E5%A6%82%E4%BD%95%E5%BC%80%E5%A7%8Brails%E9%A1%B9%E7%9B%AE/

摘自:

作者: fandyst
出处: http://www.cnblogs.com/todototry/
关注语言: python、javascript(node.js)、objective-C、java、R、C++
兴趣点: 互联网、大数据技术、大数据IO瓶颈、col-oriented DB、Key-Value DB、数据挖掘、模式识别、deep learning、开发与成本管理
产品:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
原文地址:https://www.cnblogs.com/ToDoToTry/p/2173306.html