• [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]

  • 相关阅读:
    使用wget -i下载多个文件
    linux安装LNMP的资源
    mysql优化
    npm
    文件上传
    box-shadow
    进程和线程
    String
    JavaScript 目录
    replace
  • 原文地址:https://www.cnblogs.com/Kassadin/p/4004476.html
Copyright © 2020-2023  润新知