13得票2回答
如何使Sinatra使用CSRF真实性令牌?

我正在使用Sinatra框架用Ruby构建一个简单的应用程序。它主要基于"get" - 大多数请求都是用来列出数据的。然而,在应用程序中有一些关键的屏幕需要收集用户输入。我想确保应用程序尽可能安全,目前正在尝试找到如何实现Rails表单中所得到的身份验证令牌? 我的进展: 我知道我需要csr...

14得票4回答
如何在Sinatra应用程序中链接Sass文件?

我想要将一个Sass文件链接到Sinatra应用程序中。 我有一个public/sass/styles.scss文件,并尝试在我的views/layout.haml文件中链接它。 我可以使用以下代码在我的layout.haml中链接常规css文件:%link(rel="stylesheet" ...

8得票3回答
为什么邮件块看不到我的变量?

我是Ruby的新手,想知道为什么在一个简单的Sinatra应用程序中使用'mail' gem时会出现错误: post "/email/send" do @recipient = params[:email] Mail.deliver do to @recipient #...

12得票1回答
Rack和Passenger有什么区别?

我正在尝试将一个Sinatra应用程序部署到Dreamhost,但遇到了以下提示:   DH支持Passenger,而Passenger支持基于Rack的Ruby应用程序,因此DH确实支持Sinatra。 我很难理解这个声明 - Rack和Passenger有什么区别(为什么Sinat...

46得票5回答
如何在Sinatra中解析JSON请求体并仅解析一次,然后将其暴露给所有路由?

我在编写一个API,它接收JSON负载作为请求主体。 目前,我通过类似以下方式来获取它:post '/doSomething' do request.body.rewind request_payload = JSON.parse request.body.read ...

13得票2回答
Sinatra:如何正确地提供一个普通的旧文件?

这样做是有效的,但我是凭感觉尝试的。我对Ruby了解甚少。 提供一个普通文件来获取特定资源的被认可的方式是什么?get '/xyz' do File.read 'abc.html' end

7得票3回答
如何将Thin运行在不同的端口?

我有一个非常基本的测试应用程序。当我执行此命令时,服务器忽略我指定的端口并在4567端口上运行Thin。为什么会忽略我指定的端口? $ruby xxx.rb start -p 8000 == Sinatra/1.3.3 has taken the stage on 4567 for pro...

13得票1回答
在Sinatra中如何选择你的HTTP服务器?

我正在本地运行一款 Sinatra 应用程序。 自从我安装了 Thin 之后,我的 Sinatra 应用程序总是使用它作为 Web 服务器。但是,由于我的应用程序需要大量的静态文件,所以我在使用 Thin 时遇到了性能问题,因此我想切换到 Mongrel 或 WEBrick。 我似乎无法找...

8得票2回答
端口未使用时被占用问题

我正在尝试运行以下Sinatra应用程序,但是收到错误消息告诉我无法启动服务器,要么是因为端口已被占用,要么是因为我没有root权限。在启动Sinatra应用程序之前,我从未遇到过这个问题。几天前,我将我的Mac更新为Mountain Lion,不知道这是否是问题的原因。我还使用RVM。有人能...

17得票4回答
Ruby本地化:i18n、g18n、gettext、padrino的区别是什么?

作为一个相对不太了解 Ruby 的人,我正在探索现有的库来完成在其他脚本语言中通常会做的事情。对于基于 Sinatra/Sequel 构建的东西(Rails/AR 对我的口味有点过于独断),我对可能可用的本地化库感到有些困惑。 通过 这个维基页面 我找到了几个库(i18n、r18n、GetT...