美文网首页
实现Demo

实现Demo

作者: jddxs | 来源:发表于2019-10-30 22:40 被阅读0次

    1、安装rails工具

    在安装rails之前需要先安装Ruby和SQLite3.
    检查Ruby是否安装的方式是在命令行中执行如下命令:

    ruby -v
    #如果已经安装了的话,结果应该是ruby 2.5.0。安装不同的版本,出现的是不同的数字
    

    在windows上快速安装的方式是使用:Rails Installer

    在windows下,还要安装 Ruby Installer Development Kit
    实践中发现只使用RailsIntaller安装就可以了。

    第2种安装方式比较靠谱,先安装Ruby,再使用rubygem这个工具安装Rails,这样安装得到的Rails可以是最新的。

    2、创建rails应用

    Rails中使用多个脚本工具使开发变得简单,其中一个脚本工具就是new application generator
    使用方式是在执行如下命令:

    rails new blog
    

    结果就是生成一个blog文件夹,代表一个名为blog的应用。

    3、启动服务器

    以上就创建一个名为blog的rails应用了。为了使应用能跑起来,需要启动web服务器,意思是使用web server来启动这个blog应用。命令如下:

    rails server
    

    对了,在执行此命令时,需要切换到blog文件夹下。
    在执行命令启动服务时,出现如下错误:

    Could not find gem 'puma (~> 3.7) x86-mingw32' in any of the gem sources listed in your Gemfile.
    Run `bundle install` to install missing gems.
    

    意思是缺少一个gem,那gem到底是什么东西呢?类似于一个组件吗?原来文中有解释:Puma, a web server distributed with Rails by default。它是一个随着rails发布的一个服务器程序。
    原来在执行rails new blog生成应用程序时,命令一直没有执行完,如下图:


    获取gem没有成功

    最后正常启动的结果如下:

    PS E:\邓德新\BuildWeb\blog> rails server
    => Booting Puma
    => Rails 6.0.0 application starting in development
    => Run `rails server --help` for more startup options
    *** SIGUSR2 not implemented, signal based restart unavailable!
    *** SIGUSR1 not implemented, signal based restart unavailable!
    *** SIGHUP not implemented, signal based logs reopening unavailable!
    Puma starting in single mode...
    * Version 3.12.1 (ruby 2.6.5-p114), codename: Llamas in Pajamas
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://localhost:3000
    Use Ctrl-C to stop
    

    显然,tcp://localhost:3000这里输出的是错误的,正确是应该是:http://localhost:3000

    4、添加Controller和Action

    为了响应某个具体的请求,比如http://localhost/Home/Index,需要有名为Home的Controller和名为Index的Action。
    添加Controller和Action的命令是:

    rails generate controller Welcome index
    

    其中Welcome是Controller的名字,而index是Action的名字。
    伴随着Controller与Action的创建,同时创建的还有View;Controller是由一个文件承载,路径是“app/controllers/welcome_controller.rb”;而View的路径是“app/views/welcome/index.html.erb”。

    5、设置应用程序的根路径的Home Page

    其实是设置一条路由,把对地址Http://localhost/的请求指向一个Controller的一个Action,添加路由的位置是“config/routes.rb”。文件config/routes.rb中保存是各种路由信息。如果请求的地址没有路由信息会怎么样?

    相关文章

      网友评论

          本文标题:实现Demo

          本文链接:https://www.haomeiwen.com/subject/aajavctx.html