标签: sinatra

Ruby Datamapper存储以科学计数法显示的小数

我有一个模型,称为交付:

property :id,           Serial
property :created_at,   DateTime
property :updated_at,   DateTime

property :price, BigDecimal,    :precision => 10, :scale => 2
Run Code Online (Sandbox Code Playgroud)

交付有一个价格,在SQLite中查看的价格是5.49,6.95,4.95等

在输出中显示此信息(以haml编码)时,来自delivery.price的值显示为0.695E1,0.495E1等

知道为什么他们以这种格式显示,以及如何最好地正确显示它们.

所有帮助表示赞赏!

ruby haml datamapper sinatra

4
推荐指数
1
解决办法
653
查看次数

如何在Sinatra中为mongodb创建全局连接对象?

使用ruby mongodb驱动程序,有没有办法在configure块中创建一个可以在路由方法中访问的连接对象,这样我就不必在每个请求上重新创建连接?

ruby sinatra mongodb

4
推荐指数
1
解决办法
998
查看次数

如何将sinatra作为websocket服务器运行?

我试过使用eventmachine,但我所拥有的只是一侧运行sinatra的应用程序,另一侧运行事件机的服务器。我不知道如何将sinatra应用程序作为websocket运行。

例如,我想将其用作网络套接字:

得到'/'做
   #从数据库中提取信息并显示
结束

任何帮助表示赞赏。

谢谢!L.

ruby html5 sinatra websocket

4
推荐指数
1
解决办法
3226
查看次数

如何在模型中使用Sinatra的Haml-helper?

在我的一个模型中,我有一个发送电子邮件的方法.我想通过Haml文件标记此电子邮件,该文件与我的其他视图一起存储.

有没有办法从模型中调用Sinatra的HAML帮助器?如果没有,我需要直接打电话给Haml:

@name = 'John Doe'
Haml::Engine.new(File.read("#{MyApplication.views}/email.haml")).to_html
Run Code Online (Sandbox Code Playgroud)

Haml模板有没有办法访问@name实例变量?

ruby haml sinatra

4
推荐指数
1
解决办法
957
查看次数

设计在Rails中安装的sinatra app的身份验证

我在用 -

  • Rails 3.2.2
  • Ruby 1.9.3
  • 设计2.0.4

我的路径文件如下所示:

Foo::Application.routes.draw do
  devise_for :admins

  root :to => "home#index"
  authenticate :admin do
    mount Simple::App, at: '/simple'
  end 
end
Run Code Online (Sandbox Code Playgroud)

/ simple下的访问需要进行身份验证.

但是,如果没有登录,访问/ simple/*将重定向到/ simple/admin/sign_in而不是/ admin/sign_in,这将创建一个重定向循环.

我是否需要创建自定义failure_app来纠正此行为?

谢谢!

rack ruby-on-rails sinatra devise

4
推荐指数
1
解决办法
1158
查看次数

如何将sinatra rack测试异常转储到控制台?

在我开发的过程中,我希望在运行测试时看到sinatra app异常,cosider示例:

require 'sinatra/base'

class ExceptionWeb < Sinatra::Base
  enable :raise_errors
  enable :dump_errors
  configure do 
    enable :dump_errors
  end
  get "/" do
    raise "hell"
    "ok"
  end
  def self.bad_method
    raise "bad method"    
  end
end


require 'rack/test'

describe 'The Web interface' do
  include Rack::Test::Methods

  def app
    ExceptionWeb
  end
  it "should error out" do
    get "/"
    #puts last_response.errors
    #ExceptionWeb.bad_method
    #last_response.should be_ok
  end
end
Run Code Online (Sandbox Code Playgroud)

下面的rspec代码显示没有异常,如果我取消注释last_response,那么我看到有些错误,但我看不出有什么问题.

但是电话mad_method显示我异常.

并且添加puts last_response.errors到每个测试看起来都不合适.

我尝试了sinatra配置选项raise_errors,dump_errors但这对我没什么帮助.

有任何想法吗?

rack rspec sinatra

4
推荐指数
2
解决办法
2689
查看次数

将ORM添加到现有的padrino应用程序

我是ruby,sinatra和padrino的新手,所以这可能是一个愚蠢的问题,但是:
有没有办法将orm添加到现有的应用程序中?

我的问题是我用以下命令行创建了一个应用程序:

$ padrino-gen project sample_blog -a mysql -b
Run Code Online (Sandbox Code Playgroud)

(我认为选择了默认的ORM.)
然后尝试添加模型:

$ padrino-gen model post title:string body:text
<= You need an ORM adapter for run this generator. Sorry!
Run Code Online (Sandbox Code Playgroud)

如何在不重新编写整个应用程序的情况下添加orm?
它现在不是很重要,因为应用程序不包含任何内容,但我计划在后面添加测试,我想知道它是否容易.

感谢您的初学者提示.

ruby sinatra padrino

4
推荐指数
1
解决办法
834
查看次数

Sinatra&HAML:为整个模板自动转义/转换不安全的HTML字符?

我有一个小的sinatra应用程序,我用来运行一个基本的网站.该网站的内容由客户提供,其中大部分来自PDF.因为我宁愿不必手动更换所有的<with &lt;&with &amp;,有没有办法配置HAML/Sinatra自动为我做?

基本上,我有一些看起来像这样的块:

%p
  large block of text here...
  multi-line so I can see it in my IDE...
  more lines here...
Run Code Online (Sandbox Code Playgroud)

我想找到一些配置选项,告诉HAML浏览所有内容并用他们的HTML实体对应物替换不安全的字符.

我尝试使用HTMLEntities gem,但这个网站有很多多行段落,我似乎无法让它工作.我的意思是我会在我的server.rb文件中做这样的事情:

def "/some_url"
  @encoder = HTMLEntities.new
  haml :some_template
end
Run Code Online (Sandbox Code Playgroud)

在我的模板中:

%p
  = @encoder.encode("Really long multiline string...
    some more lines here...
    and more lines...")
Run Code Online (Sandbox Code Playgroud)

它会吐出关于错过结账的错误).

html ruby haml sinatra

4
推荐指数
1
解决办法
1143
查看次数

Sinatra在ctrl-c之后重新启动Webrick Server

require 'sinatra'
require 'rubygems'

class TestServer < Sinatra::Application
set :port, 22340
    get '/' do
        "Hello World"
    end
    run! if app_file == $0
end
Run Code Online (Sandbox Code Playgroud)

Ruby 2.0.0-p0和Sinatra 1.4.2的非常简单的应用程序

当我按ctrl-c时webrick服务器在默认端口上重新启动...请参阅下面的输出

LM-BOS-00715009:server joshughes$ ruby test.rb 
[2013-04-19 16:07:48] INFO  WEBrick 1.3.1
[2013-04-19 16:07:48] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin11.4.2]
== Sinatra/1.4.2 has taken the stage on 22340 for development with backup from WEBrick
[2013-04-19 16:07:48] INFO  WEBrick::HTTPServer#start: pid=63798 port=22340
^C
== Sinatra has ended his set (crowd applauds)
[2013-04-19 16:07:56] INFO  going to shutdown ...
[2013-04-19 …
Run Code Online (Sandbox Code Playgroud)

ruby webrick sinatra

4
推荐指数
1
解决办法
936
查看次数

Ruby/Sinatra/erb:404用于加载图像

我尝试显示图像,但日志中的响应代码为404:

0:0:0:0:0:0:0:1 - - [02/Nov/2013 11:23:55] "GET /public/images/gtk_refresh.png HTTP/1.1" 404 466 0.0030
0:0:0:0:0:0:0:1 - - [02/Nov/2013:11:23:55 MEZ] "GET /public/images/gtk_refresh.png HTTP/1.1" 404 466
http://localhost:4567/main-> /public/images/gtk_refresh.png
Run Code Online (Sandbox Code Playgroud)

rb文件:

get '/main' do
  erb: main         
end
Run Code Online (Sandbox Code Playgroud)

erb文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1

/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>hello world</title>
</head>

<body>    
    <img src="public/images/gtk_refresh.png" />     
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我尝试了相对和绝对的图像路径,它不起作用.

ruby image erb sinatra

4
推荐指数
1
解决办法
1941
查看次数

标签 统计

sinatra ×10

ruby ×8

haml ×3

rack ×2

datamapper ×1

devise ×1

erb ×1

html ×1

html5 ×1

image ×1

mongodb ×1

padrino ×1

rspec ×1

ruby-on-rails ×1

webrick ×1

websocket ×1