问题标签 [sinatra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3407 浏览

ruby-on-rails - 对于不同类型的 Ruby 应用程序,最常用的单元测试框架是什么?

相同的单元测试框架是否用于不同的 Web 框架——Rails、Merb、Sinatra、Ramaze 和桌面框架——鞋子?

什么是最广泛使用的单元测试框架,可以与所有各种 Web 和桌面框架一起使用?

0 投票
1 回答
459 浏览

ruby - 将 Sinatra/Rack 应用程序制作成一个本地可执行文件有什么好处?

我正在阅读维加斯的描述,这是一颗宝石

旨在解决创建 Sinatra/Rack 应用程序的可执行版本的简单问题。

我不知道这是一个需要解决的问题。

这似乎是可疑的好处的原因是因为:

运行 Sinatra 应用程序不是已经非常容易了吗?你只需输入

除了应用程序是后台进程之外,所有这些相同的事情都会发生。

为什么你需要一个可执行文件呢?

0 投票
1 回答
1309 浏览

ruby - Sinatra“后”过滤器

Sinatra 有一个“之前”过滤器,但有没有一种简单的方法来实现“之后”过滤器?

0 投票
1 回答
1109 浏览

sinatra - 如何为带有乘客的 Sinatra 应用程序配置 VirtualHost?

我在Passenger 上运行了一个Rails 应用程序,一切正常。

我想添加一个 Sinatra 应用程序作为 Rack 应用程序与乘客一起运行,但我收到一个路由错误。

我的 VirtualHosts 文件如下所示:

我的 Sinatra 应用程序非常简单;我有一条get "/do_something" do ....没有公共文件的路线。它只响应一些 JSON。

我怎样才能让它做类似的请求www.sub.domain2.com/do_something

0 投票
1 回答
19107 浏览

ruby - 如何使用 sinatra 制作 html 表单?

是否有一些实用程序可用,以便我可以轻松地将请求中传递的表单字段封装在对象中,或者我是否必须通过解析每个请求中的参数字段来自己创建它?

0 投票
1 回答
1412 浏览

ruby - 使用 Rack::Session::Datamapper

mkristgan 的rack_datamapper gem 说它“可以被包装以在特定环境中使用,即 Rack::Session::Datamapper”。

不幸的是,我对 Ruby 的了解还不足以完成这项任务——Ruby 中的模块/类仍然在我的脑海中(来自 PHP)。

任何人都可以提供使用 rack_datamapper 来实现 Rack::Session::Datamapper 的帮助吗?

无论如何,您可能不想这样做。

下面的答案很好,但仔细考虑后,我意识到我不应该这样做。相反,我将 user_id、ip 和名字(为方便起见)放在 cookie 中并保护它。

0 投票
2 回答
1839 浏览

ruby - 如何检查 Sinatra 中是否存在模板

在 Sinatra ruby​​ 框架中,我有这样一条路线:

如果模板存在(例如,如果我点击/portfolio/website,并且我有一个名为 的模板/views/website.haml),这很好用,但是如果我尝试一个没有模板的 URL,例如example.com/portfolio/notemplate,我会收到此错误:

Errno::ENOENT at /portfolio/notemplate
没有这样的文件或目录 - /.../views/notemplate.haml

如何测试并捕获模板是否存在?我在 Sinatra 文档中找不到“如果模板存在”方法。

0 投票
1 回答
5184 浏览

ruby - 自动记录 DataMapper 查询

我正在使用 DataMapper 在 Sinatra 中开发一个简单的应用程序。我想查看 DM 为我的各种链式查找器等创建的查询。

我试过了:

在我的configure do ... end块中environment.rb,在应用程序启动时加载的文件中。

我也试过:

通过浏览器或通过irb需要我的应用程序的会话访问的应用程序都不会产生日志语句。我确实看到了应用程序启动消息。

rackup config.ru用来在本地运行应用程序。

我错过了什么?

0 投票
3 回答
3262 浏览

ruby - 在生产环境中调试 Sinatra 应用程序时遇到问题

我正在使用乘客部署 Sinatra 应用程序。部署的应用程序正在运行,但并非完全正常:一些路径运行良好,其他路径只是呈现空白页面。我似乎找不到有效的路线和无效的路线之间的任何主要区别,而且我似乎无法找到任何错误..

处理程序

我定义了 not_found 和错误处理程序如下:

这些在我的本地机器上运行良好,无论是在开发还是生产中,但我从来没有看到这些出现在服务器上。

阿帕奇日志

当我跟踪 Apache 的 access.log 并点击其中一条损坏的路径时,我看到了 500:

rack_hoptoad

我还在我的 config.ru 中安装并配置了 rack_hoptoad中间件,但没有例外将其用于 hoptoad。

日志记录

我已经像这样设置了日志记录..

此设置允许我在我的路由中调用logger.info,该路由在本地和服务器上运行以获取工作路由,但损坏的路径不足以调用 logger.info。

该怎么办?

关于如何查看导致 500 错误的原因的任何想法?谢谢你的帮助!

0 投票
1 回答
1647 浏览

sqlite - 将 sqlite3 db 推送到 heroku 时出现问题:lib/taps/schema.rb:30:in `sqlite_config': undefined method `[]' for nil:NilClass (NoMethodError)

我有一个 Sinatra DataMapper 应用程序访问我试图部署到 Heroku 的 sqlite3 数据库。第一遍,我将我的数据库文件包含在 git repo 中。这在应用程序运行时有效,但生产数据不属于存储库。但它并没有真正起作用,因为数据库是只读的。

然后我删除了用于源代码控制的 db 文件并尝试了heroku db:push sqlite://db/my-app.db. 此命令产生以下 stact 跟踪:

知道可能是什么原因造成的,我该如何解决?