我正在使用DataMapper在Sinatra上创建一个简单的应用程序.我希望看到为我的各种链式查找器创建DM的查询等.
我试过了:
DataMapper::Logger.new(STDOUT, :debug)
Run Code Online (Sandbox Code Playgroud)
在我的configure do ... end块中environment.rb,在应用程序启动时加载的文件中.
我也尝试过:
DataMapper::Logger.new('log/my-app.log', :debug)
Run Code Online (Sandbox Code Playgroud)
无论是通过浏览器还是通过irb需要我的应用程序的会话,都可以从应用程序中获取日志语句.我看到应用程序启动消息.
我正在使用rackup config.ru本地运行应用程序.
我错过了什么?
我不知道如何测试我的Sinatra应用程序.我跑吧
红宝石
这似乎不起作用.那里的所有文件只讨论如何编写文件的内容,而不是如何让它运行.
谢谢
我正在尝试使用Sinatra上传文件.我在这里有代码,但是我收到错误"方法file_hash不存在"(请参阅/lib/mvc/helpers/helpers.rb).
这里发生了什么?我缺少一些依赖吗?
我是Ruby和Sinatra的新手,我正在尝试用它设置一个简单的HTML5 Server-Sent事件,下面的代码在Chrome开发人员版本中运行良好,但在Windows 7和OSX上的Non Developer Builds和Safari都失败了.
浏览器控制台中的错误消息是"无法加载资源:已取消"
var source = new EventSource('pull');
source.addEventListener('message', function(e) {
console.log(e.data);
}, false);
source.addEventListener('open', function(e) {
// Conn open
}, false);
source.addEventListener('error', function(e) {
if (e.eventPhase == EventSource.CLOSED) {
// Connection was closed.
}
}, false);
Run Code Online (Sandbox Code Playgroud)
以下Sinatra路线
get '/pull' do
content_type 'text/event-stream'
newevent = false
response = "data: "+newevent.inspect+" \n\n"
end
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用JSP和Tomcat的类似服务器端代码,它在所有浏览器上都能正常工作.
关于Sinatra,我需要了解什么?谢谢!
对于Ruby来说有些新东西我正在探索现有的库来执行我通常在其他脚本语言中所做的事情,而且我对可能用于构建在Sinatra/Sequel(Rails之上)的东西的本地化库感到有点困惑/ AR根据我的口味有点过于自以为是.
现在,我通过这个wiki页面遇到了一对(i18n,r18n,GetText),显然在Padrino中使用了一个额外的库(基于来自Rails的i18n的东西?); 而且显然还有更多.
除了显而易见的(即GetText mo/po样式与yml文件)之外,我对这些选项如何不同感到困惑.除了说它们存在之外,维基在这方面并没有太多指出; 不是他们如何不同.
更令人困惑的是,基本上每一篇文档似乎都涵盖了其中的一篇(通常在RoR上下文中).而且,这些选项在仔细检查时看起来并不完全不相容 - 从某种意义上说,如果我理解这一点,他们可以在很大程度上理解彼此的文件.
这里的任何人都可以对这些库进行快速和简要的解释/概述,并概述它们之间的区别吗?关于性能的一些指示也是受欢迎的,如果你知道任何(除了来自fast_gettext文档的那些,考虑到我对这些选项之间的差异缺乏理解,这没什么意义).
我有一个关于在Sinatra上使用机架安装的问题.我有两个经典风格的Sinatra应用程序.让我们调用app.rb中定义的一个App和api.rb中定义的另一个API.
我希望它能让api.rb处理所有以'/ api'开头的路由,而app.rb会处理所有其他请求,包括root('/').
如何使用机架安装进行设置?或者有更好的解决方案吗?
我正在开发一个社交应用程序并考虑使用express.js/nodejs而不是我最初的选择Sinatra/Ruby.
我最担心Ruby中可用的开源项目,以帮助快速完成任务.第二个主要问题是express.js的稳定性/成熟性和完整性.
任何反馈,欢迎评论.
我有一个相当完整的REST服务,将与iOS应用程序一起使用.它是使用Ruby/Sinatra构建的,但我认为这并不重要.
我正在使用基于SSL的HTTP基本身份验证来处理各种端点,而且这部分工作得非常好.
问题是:如何阻止垃圾邮件发送者等调用未通过HTTP基本身份验证保护的REST服务部分?
示例:用户注册
我们假设REST调用是(POST) .../register_account传递正文中的JSON对象.
出于显而易见的原因,此调用不能指望链接到用户帐户的用户名/密码.
想法是:
1)应用程序有自己的"用户名"/密码,有些调用会检查应用程序凭据.问题:植入设备等可以挖掘出这些凭据.
2)应用程序通过HTTP标头将秘密令牌传递给REST服务以进行这些调用.问题:与(1)相同
是否有任何常用的技术来阻止此类垃圾邮件呼叫?我想也许可以在混合中引入iPhone的设备ID,但还没有找到明确的方法.
谢谢
我正在使用带有"经典"风格的Apache和Phusion-Passenger的Sinatra:
# config.ru
require 'sinatra'
configure do
....
end
require './app'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
我想定义一些东西.在配置块内部或外部定义它有什么区别?
# config.ru
require 'sinatra'
# A) Defining logger here
rack = File.new("logs/rack.log", "a+")
use Rack::CommonLogger, rack
# B) Global variables here
LOGGER = Logger.new(...)
# C) Gem configuration here
DataMapper::Property::Boolean.allow_nil(false)
configure do
# A) Or defining logger here?
rack = File.new("logs/rack.log", "a+")
use Rack::CommonLogger, rack
# B) Or global variables here?
LOGGER = Logger.new(...)
# C) Or gem configuration here?
DataMapper::Property::Boolean.allow_nil(false)
....
end
require './app'
run …Run Code Online (Sandbox Code Playgroud) sinatra ×10
ruby ×9
datamapper ×1
express ×1
file-upload ×1
html5 ×1
javascript ×1
localization ×1
node.js ×1
padrino ×1
paperclip ×1
passenger ×1
rest ×1
rubygems ×1
security ×1
testing ×1