由于同事强烈推荐,公司最近在考虑将一些小型项目从Spring+ibatis+webx(mvc框架)开发改为ruby on rails开发,所以就接触了ruby语言和rails这个框架,感觉这个框架很适合小型项目的开发,重null到一个连接数据库的拥有曾删改查的网站(当然没有ued,界面很简单),一分钟之内就可以搞定啊,速度那是相当快啊,有木有啊,呵呵
如果做java web开发的就知道,有时候我们做的都是重复的劳动,从建立数据库开始然后写dao-bo-ao-web层,基本上都是重复的劳动,共性也很大,无非就是那些曾删改查,以前在学校就这样认为了,现在项目大了感觉更强了,感觉我们的时间都浪费在这里,大家想应该有一种方法解放大家(ruby语言的创建也就是这个目的),所以像rails这样的框架应运而生,这类框架称之为敏捷开发,要问多敏捷,你只用建立一个domain,然后后面的事情就交给框架做了吧!谁用谁知道,但国内用这个的还不多,以至于我编写我的第一个helloword程序就用了两天,一天半都用在搭建环境上(不是环境难搭建,是我总是犯错误),所以在这里写出来,让大家学习的时候不用两天,就可以开始rails之旅
这里我重rubyonrails的官网文档讲(全英文啊,让我这个英语年年60分的童鞋压力很大啊)
(1)what is rails
“Rails is a web application development framework written in the Ruby language”
rails是一个用ruby语言编写的web程序开发框架
(2)他的目的
“It is designed to make programming web applications easier by making assumptions about what every developer needs to get started.”
也就是使在开发web程序的时候更快
(3)rails还有几条特别有意思的指导原则
1.DRY “Don’t Repeat Yourself"
2 Convention Over Configuration
3 REST is the best pattern for web applications
大家自己去体会吧
2 The MVC Architecture
第二是mvc,这个不管你用什么语言做web开发,你都应该知道的模式,而rails就运用了这个模式,在等下建立项目的时候你会有更深的体会
(1)Models
A model represents the information (data) of the application and the rules to manipulate that data
一个模型相当于就是一个javabean吧,在rais中一个模型对应数据库中的一张表,如果用过hibernate的童鞋就该知道(不知道这是不是传说中的模型驱动开发)
(2)Views
Views represent the user interface of your application
说白了,views就是UI
(3) Controllers
Controllers provide the “glue” between models and views
也就是连接views和models的
3 ruby on rails安装(也就是让我最纠结的)
我走过很多弯路,希望大家不要走了
(1)应为对于java程序员都用惯java了,所以jruby要更适合于java程序员,jruby是ruby写的运行在jvm上的语言(不知道定义的是否正确)
所以首先下载jrubyhttp://www.jruby.org/ 解压,设置环境变量,然后再cmd中jruby -v 现实版本就ok
(2)然后是rails
下载rails.gem(根据版本名字会不同,最新3.07)http://rubyforge.org/frs/?group_id=307 gem是一个相当于maven的工具,可以下载很多依赖
下载后cmd定位到rails.gem那个文件夹,运行 gem insall rails.gem,然后rails等一些依赖都会被下载
安装完成后一样cmd rails -v 如果版本不是3.07 运行命令gem update rails
(3)好像就没有3了,如果上面两部都成功的话,你的环境就搭建好了,是不是很简单啊,是不是啊,我为什么就要两天呢!
4 ruby on rails 的HelloWord程序
(1) cmd 运行命令 rails new appname --database=mysql (appname 是你的项目名称,由于rails会自动生成数据库配置文件,所以这里指定数据库后面改的会少一点,默认是 SQLite3)
这样建立程序后运行会报错(大概的意思是找不到mysql2驱动),这里我纠结了半天,国内网站都找不到解决方法,国外倒是很多,所以又考验我的english了
最后的解决办法是创建项目的时候加上一个参数-,-template=http://jruby.org/rails3.rb 然后问题就解决了(连官方文档都没这么做,就不知道这么他就可以),大概就是照一个模板来创建数据库
完整的命令
rails new appname --database=mysql --template=http://jruby.org/rails3.rb
(2)修改config/database.yml
那些参数不用我说吧,什么usernam 啊password啊.....你懂的
(3)运行rake db:create
如果数据库配置没有错的话,这里会自动创建你指定的数据库,如果报错,那你就检查你的配置吧
(4)启动服务器 rails自带了一个服务器 执行命令 rails server(其实rails s 就ok了)
如果服务器启动成功,他会提示在本地3000端口
打开浏览器 http://localhost:3000 如果无问题就会有个页面
(5)创建一个控制器
1.输入命令rails generate controller home index
2.修改/views/home/index.html.erb
改为熟悉的<h1>Hello, Rails!</h1>
3.删除public/index.html
4.修改config/routes.rb
找到这里修改
#... # You can have the root of your site routed with "root" # just remember to delete public/index.html. root :to => "home#index"
然后访问helloword就出来了
这里还没有连接数据库,还没体验到rails的强大
(6)rails generate scaffold Post name:string title:string content:text
创建一个Post的model,有name,title,content字段,后面是类型
这条命令后,rails会创建重model,view,controler的所有东西(很强大啊)
(7)想model maping到数据库中
运行rake db:migrate
成功后数据库就会有你指定的字段了,除了你指定的字段,rails还帮你创建id,创建时间和跟新时间的两个时间戳,还有一张vision表(应该记录版本的吧)
(8)修改app/views/home/index.html.erb,为post的页面添加一个连接
<h1>Hello, Rails!</h1>
<%= link_to "My Blog", posts_path %>
(9) 然后就是http://localhost:3000,点击mypost你就可以增删改查了
至此 你的比hellword更强大的程序就ok了,你想一下如果熟悉的话你花多少时间?3分钟?2分钟?还是更少?
其实rails的功能远远不止这些,什么校验啊,ajax啊,ormapping ...........等等自己去发现吧
然后要介绍的就是rubyonrail的开发工具,其实自己愿意什么都可以,但最好用的我觉得还是rubymine 收费的,你说好用不,不过我有序列号,要的可以给我邮件evan8126@gmai.com!
由于我也是初学,如果有什么错误请高手指正,如果有问题请留言,能解决的一定回复!Thanks
分享到:
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
”这句话生动地描述了Ruby on Rails的独特之处以及它在Web开发领域的影响力。 #### 二、安装 安装Ruby on Rails的方法多样,具体包括: - **InstantRails**:适用于Windows用户的单击安装包。 - **Locomotive**:...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。Rails以其“约定优于配置”(Convention over Configuration)...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一个开源Web应用程序框架,它基于Ruby编程语言。这个框架以其MVC(Model-View-Controller)架构、约定优于配置(Convention over Configuration)的...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。...这本书是Ruby on Rails初学者的一份宝贵资源,将帮助你开启精彩的Web开发之旅。
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
《Ruby on Rails for Dummies》是一本专门为初学者设计的Ruby on Rails教程,它旨在帮助新手快速理解并掌握这个强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言构建的一个开源Web应用程序框架,它...
《Ruby on Rails入门权威经典》是一本专门为初学者设计的指南,旨在帮助读者全面掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby编程语言的开源框架,以其“DRY(Don't Repeat ...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用程序的开发。Rails由David Heinemeier Hansson于2004年创建,它提倡“约定优于配置...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。这个框架遵循“约定优于配置”(Convention over Configuration)的原则,致力于简化Web应用的开发流程,提高...
Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...
### Ruby on Rails与Java框架对比分析 #### 一、引言 随着互联网技术的迅猛发展,Web开发领域也迎来了各种各样的开发框架和技术栈。在众多的开发框架中,Ruby on Rails (RoR) 和 Java 的相关框架尤其受到关注。本文...