[Ruby on Rails系列]三、初试Rails:使用Rails开发第一个Web程序

本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,如今终于进入正题啦!web

Part1.开发前的准备


本次的主要任务是开发第一个Rails程序。须要特别指出的是,本次我选用了一个(PaaS开发平台),也就是Rails教程中介绍的Cloud 9平台,该平台已经自动为咱们做好了环境配置的工做;只要你有一个浏览器就可使用该云端开发环境。很是的方便快捷!简直赞!平台网址以下:https://c9.io/

Cloud 9开发平台的实质是为每个注册的开发者在服务器端分配一个Linux虚拟机,所以在Cloud 9上进行开发就好像是在虚拟机上开发同样。在Cloud 9的终端输入命令实际上和在Linux上输入命令如出一辙。所以,本文也一样适用于本地开发。spring

Cloud 9使用方法:数据库

(1)注册一个免费帐户并登陆浏览器

(2)点击“Go to your Dashboard”ruby

(3)点击“Create New Workspace”服务器

(4)选择工做空间类型并命名,如图:app

(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系列]四、专题:Rails应用的国际化[I18n]

相关文章
相关标签/搜索