[Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序
本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦!
Part1.开发前的准备
本次的主要任务是开发第一个Rails程序。需要特别指出的是,本次我选用了一个(PaaS开发平台),也就是Rails教程中介绍的Cloud 9平台,该平台已经自动为我们作好了环境配置的工作;只要你有一个浏览器就可以使用该云端开发环境。非常的方便快捷!简直赞!平台网址如下:https://c9.io/

Cloud 9开发平台的实质是为每一个注册的开发者在服务器端分配一个Linux虚拟机,因此在Cloud 9上进行开发就好像是在虚拟机上开发一样。在Cloud 9的终端输入命令实际上和在Linux上输入命令一模一样。因此,本文也同样适用于本地开发。
Cloud 9使用方法:
(1)注册一个免费账户并登录
(2)点击“Go to your Dashboard”
(3)点击“Create New Workspace”
(4)选择工作空间类型并命名,如图:

(5)点击“Create”
(6)点击“Start Editing”,进入虚拟机。

(7)进入开发环境以后可以根据自己的开发习惯对开发环境进行设置(自己探索~)
(8)安装Rails。Cloud 9开发环境包含了所有我们需要的工具,但是没有安装Rails本身,打开终端输入如下代码安装Rails。
$ gem install rails
至此,开发环境准备完毕,在终端输入rails --version可以检查Rails版本验证是否安装成功。
Part2.第一个应用程序
开发环境配置完毕后,就可以开发第一个应用程序啦。
(1)创建工程,在终端输入:rails new (project name)
rails new firstDemo

等待几秒钟后,如果创建成功会显示如下代码:
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
run bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted
此时,Rails会自动创建文件结构,并按照MVC模型初始化模版。创建好之后的文件结构如下:

注:如果你没有创建成功,请不要着急,那可能是有些依赖文件虚拟机没有默认按照,这时你需要根据失败时的提示信息,安装相应的依赖包。安装完成后重新构建即可。
(2)修改Gemfile文件,并重新构建
如图,打开Gemfile,去掉#gem 'therubyracer', platforms: :ruby该行注释(去掉#即可),以保证我们的工程支持JavaScript。如果不取消此行注释,之后的构建会报错:缺少JavaScript平台。

取消注释完成后,在终端输入以下代码,重新构建:(先切换到项目文件夹,再构建)
cd firstDemo
bundle install
(3)使用Rails提供的自动化框架Scaffold指令
在终端输入如下指令:
rails g scaffold memo content:text
此时,Rails会建立一个memo的表,该Table具有一个Text类型的字段content。同时Rails还为我们构建好了相关的表现层,控制层,数据层代码。具体语法细节,我会在之后学习,现在不必在意。
我们可以打开app/views/memos文件夹查看生成的具体代码,如图。

(4)建立数据库
在终端输入如下指令建立数据库:
rake db:migrate
SqlLite3会根据数据模型自动创建好数据库。

(5)开启服务器,运行Web程序
注意:采用Cloud 9创建的程序与本机创建的项目在此步会有所不同。
如果采用本地服务器。在终端输入:
rails server
然后打开浏览器,输入:http://127.0.0.1:3000/memos,测试是否运行成功。
如果采用Cloud 9,需要在终端输入:
rails server -b $IP -p $PORT
然后根据Cloud 9提示,打开相应页面即可。如图:

(6)查看结果
需要注意的是,直接点击上述连接进入的不是我们生成的页面,请在生成的链接后加上/memos(原因请仔细研究config文件夹下的route.rb)
运行结果如下图:

至此,我们的第一个基于Rails的Web程序就完成啦。完全没有写代码呢!Rails框架的开发效率完全体现了出来。
后记
由于是第一个Rails程序,我们并不需要深究Ruby on Rails的语法细节,我们使用了Rails提供的生成工具Scaffold快速生成了含有数据库的应用程序,这的确比其他开发框架要快很多,我学了2个月JSP才会写基于数据库的web程序。。。
采用自动生成框架忽略了许多细节,在之后的学习中,我会深入研究Rails框架的语法和设计,而不是像现在这样迅速的生成一个应用程序。
在下一篇文章,我将探讨一个特殊的问题:Rails应用的国际化,敬请期待。
[Ruby on Rails系列]4、专题:Rails应用的国际化[I18n]
[Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序的更多相关文章
- [Ruby on Rails系列]4、专题:Rails应用的国际化[i18n]
1. 什么是internationalization(i18n)? 国际化,英文简称i18n,按照维基百科的定义:国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区 ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
- [转]Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序
转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/13/251101.html 本系列教程将详细介绍Struts 1.x的基本原理和使用方法, ...
- [lucene系列笔记3]用socket把lucene做成一个web服务
上一篇介绍了用lucene建立索引和搜索,但是那些都只是在本机上运行的,如果希望在服务器上做成web服务该怎么办呢? 一个有效的方法就是用socket通信,这样可以实现后端与前端的独立,也就是不管前端 ...
- [Ruby on Rails系列]6、一个简单的暗语生成器与解释器(上)
[0]Ruby on Rails 系列回顾 [Ruby on Rails系列]1.开发环境准备:Vmware和Linux的安装 [Ruby on Rails系列]2.开发环境准备:Ruby on Ra ...
- [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完成Ruby on Rails开发环境的配置. 在配置环 ...
- win8平台下Ruby on Rails的第一个web应用
最近在做一个网站web前端的前期开发,老板要求用Ruby on Rails搭建部署开发环境,上网搜之,发现整个搭建流程比较坑爹,于是用了一款集成软件Bitnami Ruby Stack一键安装到我的w ...
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- gRPC学习之三:初试GO版gRPC开发
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- 风云CM - 算法分析 & genkey实现
// 风云CM分析 // 计算用户名 00402D8A |> \8D45 F8 LEA EAX, [LOCAL.2] 00402D8D |. 50 PUSH EAX 00402D8E |. E8 ...
- python的全局变量玩法还挺特别的
global g_arr def add(): #global g_arr g_arr = [] g_arr.append(1) add() print g_arr #你将收获一个NameError错 ...
- C#学习笔记之线程 - 同步上下文
同步上下文(Synchronization Contexts) 手动使用锁的一个替代方案是去声明锁.通过派生ContextBoundObject和应用Synchronization属性,你告诉CLR自 ...
- 【转】 SqlServer性能检测和优化工具使用详细
http://blog.csdn.net/dcx903170332/article/details/45917387
- 终端命令收集(关于 mac与ubuntu)
本人曾使用ubuntu 是踩过有一些坑,以及在处理问题时学到的知识,总结一下,便于以后记忆. 1 基本命令 (1)列出文件 ls 参数 目录名 参数 -w 显示中文,-l 详细信息, -a 包括隐藏文 ...
- ArcSDE for oracle10g安装后post的时候出现错误
The Post Installation Setup can not locate required Oracle files in your path.Check your Oracle inst ...
- Excel常用函数
1.基本的算数函数 sum() average() 2.三角函数 sin() cos() 3.
- 对C#调用C++ dll文件进行总结
在实际项目工作中,经常用到C#调用C++ 或者C编写的dll文件. dll支持一般函数声明和类的定义声明,但是一般为了简化,都是 采用函数声明的方式.这里主要并不是写 dll的编写. 先在vs中创建一 ...
- 【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数据进行修补
1 --查询时间范围内的数据 select * from dbo.point where wtime >'2014-05-01 23:59:59' and wtime< '2014-05- ...
- javascript常用对象
A,window对象 window对象是浏览器模型对象的顶层对象 常用属性: screen:客户端的屏幕和显示性能的信息. history:客户端访问过的url信息 location:当前url链接的 ...