【sinatra】安装测试
$ gem install sinatra
- 测试:
$ subl app.rb
- app.rb内容:
require 'sinatra'get '/' do"Hello, World!"
end
- 运行服务器:
$ ruby app.rb
在浏览器中输入:localhost:4567,没问题的话就会显示Hello, World!
- 基于类的宏来定义route的写法:
require 'rubygems' #有没有都行,不影响
require 'sinatra/base'class App<Sinatra::Baseget '/' do"Hello, World!"end
end
- 使用模板
见过用过的有两种:erb、haml
$ gem install haml #安装haml
#encoding:utf-8
require 'sinatra/base'
require 'haml'class App<Sinatra::Baseenable :inline_templatesget '/' do@title="Top"haml "My Way"endget '/name/:name' do@name=params[:name]@title="Song for #{@name}"haml "#{@name}'s Way"end
endApp.run!__END__@@layout
!!!5
%html%head%title=@title%body%h1=@title%div=yield
- 导入被称之为“Rack::Rewrite”的、在应用系统内部重写URL的中间件。
当然,用mod_rewrite或Nginx也能做同样的事,但用“Rack::Rewrite”具有在应用系统内部记述rewrite规则的优点。
- 能不依存服务器应用程序中来书写rewrite规则。
这一点,尤其在无法控制服务器应用程序的云环境中,比如部署在heroku时等,非常便利。 - 借助Rack::Test等,能够书写rewrite规则的自动测试。
安装很简单。
1
|
$ gem install rack-rewrite
|
。。。
require 'rack/rewrite'
。。。# 重写URL到/name/*use Rack::Rewrite dorewrite %r{^/song_for/(.*)},'/name/$1'end
- 通过“use”来使用的中间件,称之为“Rack Middleware”。这些中间件,实际上是遵照Rack的应用框架,也可以同样的使用在Ramaze和Rails等上面。
- 通过“register”来登录的被称为“Sinatra Extensions”模块,不能使用在Sinatra、或者是本次所说明的Sinatra扩张框架Padrino、Sinatra Base之外的地方。
使用“重载”解决“每次重启的麻烦”
然后,在“require ‘sinatra/base’”的正后方加入:
最后,只需要通过register来声明使用重载(用Thin作服务器不能很好地运行,所以一并设定在WEBrick上)。
想设定为只在development环境中有效也很简单。
这样,就能在运行着Sinatra进程的终端,进行设计变更、逻辑变更等各种修改(追加gem等的情况是需要重启的,这个请注意)。 |
【sinatra】安装测试相关推荐
- CMake实战之安装测试和添加环境生成安装包
1.安装测试 CMake 也可以指定安装规则,以及添加测试.这两个功能分别可以通过在产生 Makefile 后使用 make install 和 make test 来执行.在 GNU Makefil ...
- ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版
主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 一. 32位版本: coreseek安装需要预装的软件: ap ...
- iPhone手机获取uuid 安装测试app
iPhone手机获取uuid 安装测试app UDID是一种iOS设备的特殊识别码.除序号之外,每台ios装置都另有一组独一无二的号码,我们就称之为识别码( Unique Device Identif ...
- Redis集群方案,Codis安装测试
Redis集群方案,Codis安装测试 1,关于豌豆荚开源的Codis Codis是豌豆荚使用Go和C语言开发.以代理的方式实现的一个Redis分布式集群解决方案,且完全兼容Twemproxy.Twe ...
- node.js介绍及Win7环境安装测试(转)
官网描述: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...
- hive安装测试及Hive 元数据的三种存储方式
一 hive安装测试 1.下载解压 tar -xf hive-x.y.z.tar.gz(本次安装为hive-0.8.1.tar.gz) 将解压后的hive-0.8.1文件放在系统的/home/had ...
- Microsoft Windows XP SP3安装测试手记
作为一名Microsoft TechNet Observer,我近期收到了ITProCity方面关于Windows vista Service Pack 3和Windows XP Service Pa ...
- PyTorch安装测试训练建自己的数据集
Pytorch安装测试训练建自己的数据集 前言 一.PyTorch是什么? 二.PyTorch环境搭建 1.设备要求 2.安装Pytorch 3.验证PyTorch 二.CIFAR10测试 1.关于C ...
- 怎么使用XCode给iOS手机安装测试包
场景 在实际的APP开发中,需要针对Android机和IOS机子进行测试. 打包APP测试包可以看教程 用Hbuild打包APP 安装Android的安卓apk包,可以直接下载安装到手机就可以了. 但 ...
- 安装测试包(.ipa)到iPhone手机
测试的朋友都会碰到安装测试包的情况,一般测试包(后缀名.ipa)用于内部人员测试. 目前,我所知道的有两种安装方法: 一种是使用iTunes: 1.打开iTunes,选中我的应用,将测试包.ipa拖到 ...
最新文章
- JS 总结之函数、作用域链
- laravel项目运行 php artisan cache:clear 命令报错
- SAP UI5 CreateBindingContext 方法的实现逻辑
- linux idea 权限,Linux下idea由于缺少相关权限导致的tomcat ERROR
- codelite linux 安装,CodeLite + MinGW环境安装
- 更改vmware esx机器的ip
- MVC个层次之间的联系
- 计算机编程入门先学什么最好?
- bugku中的misc题
- robotstudio机器人应用实践(码垛搬运工作站)
- 技术是把双刃剑,需要好好保管
- 结构光、双目、ToF——三种3D技术对比
- 私域运营中小程序的作用
- 知识体系:如何构建自己的知识体系
- 第七讲:4.智能物联网开关——角度倾斜报警实验例程
- 白帽子-高端信息安全培训(攻防技术、渗透测试、安全产品、安全标准、风险评估、等级保护、项目实战)...
- 基于Wemos D1避障WiFi小车及智能垃圾桶设计
- android在线播放儿歌源码,亲宝儿歌播放器手机版
- 微信软件服务器在那个国家,安道尔究竟是什么地方?为什么2000万中国人微信地址都选在安道尔...
- DNF单机版:注册失败的解决
热门文章
- [原创].触摸屏滤波的一点心得
- FIN7 正在转向密码重置和软件供应链攻击
- 谷歌公布4个0day详情,其中3个被滥用于攻击亚美尼亚
- 供应链勒索攻击登场,REvil 利用0day 迫使安全事件响应工具 VSA部署勒索软件
- Valak 6个月上演“变身戏法”,紧盯 Exchange 服务器窃取企业数据
- puppet 认证错误:Could not request certificate: unknown message digest algorithm
- 反射在微信公众平台开发的应用
- MATLAB建立图表的基础
- python json传参数可以传对象吗_廖雪峰的python系列教程(52)——IO编程之序列化...
- [Java] 蓝桥杯BASIC-21 基础练习 Sine之舞