sinatra 相关问题

Sinatra是一种领域特定语言(DSL),可以轻松地在Ruby中快速创建Web应用程序。它是其他Ruby Web应用程序框架的替代品,例如Ruby on Rails,Nitro,Camping和Rango。

Ruby VCR 测试未捕获来自 sinatra 的 http 调用

我有一个 Sinatra 应用程序,其中包含以下调用; 得到 '/test' 做 @res = Net::HTTP.get_response(URI('http://www.iana.org/domains/reserved')) erb:测试 结尾 有风景; <%= @res.

回答 1 投票 0

如何在 erb 文件中打印字符串(包括换行符)

收到用户的输入后,我得到一个像这样的字符串: str = "第一行/n第二行/n第三行" 当我尝试将其打印在我的 erb 文件中时,如下所示: <%= str %> 我越来越...

回答 2 投票 0

我错误地调用了 Sinatra Ruby 文件 app.py 并且它仍然有效,为什么?

我将一个 Ruby 文件命名为 app.py 并且它起作用了。我是后来才注意到的。为什么这可能。这并不复杂,只是一个小的西纳特拉食谱,但我仍然不明白。

回答 1 投票 0

如何将 Sinatra 配置为在反向代理的虚拟子目录中运行?

我在 Sinatra 中有一个应用程序,它接受根请求并使用以下名称: 得到 '/' '根页面' 结尾 获取“/:名称” #这里有一些代码 结尾 当在反向代理后面托管应用程序时...

回答 1 投票 0

如何将原始二进制数据传递给rack/test的put()方法?

我正在这样做: 需要“机架/测试” data = # 一些二进制数据,例如 ZIP 存档 put('/foo', data, 'content_type' => 'application/octet-stream') 工作得很好,直到我输入 % 符号...

回答 1 投票 0

如何创建一个同时渲染和返回的HAML6助手?

我正在尝试为 HAML 设计一个助手,它的工作原理如下: %桌子 - 表格(项目)做 |i| %tr %td = 我[:标题] 我希望它呈现以下 HTML: 我正在尝试为 HAML 设计一个助手,它的工作原理如下: %table - tabular(items) do |i| %tr %td = i[:title] 我希望它能够呈现以下 HTML: <table> <tr><td>first</td></tr> <tr><td>second</td></tr> <tr><td>Total: 2</td></tr> <!-- This is not an item! --> </table> 我正在尝试这种方法,但不起作用: def tabular(items) total = 0 items.each do |i| total += 1 yield i end "<tr><td>Total: #{total}</td></tr>" # this line doesn't print :( end 有一个输出 buffer 实例变量 @_out_buf,您可以追加到它: # views/index.haml - items = [{title: :first}, {title: :second}] %table # you have to indent this - tabular(items) do |i| %tr %td = i[:title] # app.rb require "sinatra" helpers do def concat string @_out_buf << string end def tabular(items) total = 0 items.each do |i| total += 1 yield i end concat "<tr><td>Total: #{total}</td></tr>" end end get "/" do haml :index end 渲染: <table> <tr><td>first</td></tr> <tr><td>second</td></tr> <tr><td>Total: 2</td></tr> </table>

回答 1 投票 0

如何让 Sinatra 使用 CSRF 真实性令牌?

我正在使用 Sinatra 框架在 ruby 中构建一个简单的应用程序。它主要基于“获取”——大多数请求都是针对列表数据的。然而,应用程序中有几个关键屏幕会收集

回答 3 投票 0

Sinatra 将 SameSite cookies 设置为无

我有一个模块化的 sinatra 应用程序,其配置如下: 配置做 禁用:保护 使用机架::保护 启用:会话 设置:session_secret,ENV.fetch('

回答 2 投票 0

Kamal + Grover::JavaScript::TimeoutError

我正在使用 Kamal 部署 Sinatra Web 应用程序,并在其中使用 Grover 处理 pdf。我遇到的问题是,当我访问 https://myserver.com/pdf3 时,出现以下错误; 格罗弗::

回答 1 投票 0

Foreman:在开发和生产中使用不同的Procfile

我有一个自制的 Sinatra 应用程序,我打算使用 Heroku 来托管它。 我在开发中使用 foreman 和 shotgun,并使用以下 Procfile: 网络:shotgun config.ru -s Thin -o 0.0.0.0...

回答 4 投票 0

Sinatra 构建 REST API 文档 [已关闭]

我整晚都在寻找一个 gem 来从我的 sinatra 路由生成 API 文档。我应该能够用内联注释来指定。 我找到了 https://rubygems.org/gems/sinatra-api...

回答 2 投票 0

在 rspec 中指定内容类型

我正在尝试构建一个通过 POST 发送 JSON(或 XML)的 rspec 测试。但是,我似乎无法真正让它工作: json = {.... 数据 ....}.to_json 发布 '/model1.json',json,{'CONTENT_TY...

回答 9 投票 0

Sinatra 中所有 POST 请求的过滤前?

有没有办法创建一个“before”过滤器来捕获和预处理 Sinatra 中的所有 POST 请求?

回答 4 投票 0

Sinatra 参数为空,但负载正常

我在 Sinatra 中提交了一个表单,但没有显示任何收到的参数。 Chrome 正确显示了表单提交有效负载,因此表单没有问题。只是没能进入 Sinatr...

回答 1 投票 0

如何在 Sinatra 中进行 URL 重写

我想重定向所有此类请求 http://www.example.com/2013/01/my-sample-post/feed 或者 http://www.example.com/2013/01/my-sample-post/feed/ 到 http://www.example.com/2013/01/my-...

回答 1 投票 0

如何使用 rspec 在 sinatra 中测试重定向?

我正在尝试在 rspec 中测试我的 sinatra 应用程序(更具体地说,padrino 应用程序)的主页上的重定向。我找到了redirect_to,但它似乎只在rspec-rails 中。你如何测试...

回答 4 投票 0

如何在 Sinatra 应用程序中检查请求类型是否为 JSON?

我需要将请求正文解析为 JSON,但是如何检查请求是否是 JSON 请求?

回答 2 投票 0

更新 - Sinatra 无法识别任何路线

我有一个 Sinatra 4 应用程序,我正在尝试加载 CSS 文件。我已将其放在 /public/application.css 中,并在我的视图标题中添加了 我有一个 Sinatra 4 应用程序,我正在尝试加载 CSS 文件。我已将其放入 /public/application.css 中,并在视图的标题中添加了 <link rel="stylesheet" type="text/css" href="/application.css"> 但未找到该文件。 当我尝试将浏览器指向http://localhost:9292/assets/stylesheets/application.css时,我收到“Sinatra 不知道这首小曲”。页。 更新:经过一些故障排除后,我注意到如果我使用 ruby application.rb 启动应用程序,Sinatra 会启动 (Sinatra (v4.0.0) has taken the stage on 4567 for development with backup from Puma),但不会显示任何页面。当我将浏览器指向 http://localhost:4567 时,我得到“Sinatra 不知道这首小曲”。页。 我在这里缺少什么?为什么 Sinatra 不工作? 这是我的代码。 # config.ru require File.dirname(__FILE__) + "/application.rb" run ABC # application.rb require "sinatra" class ABC < Sinatra::Base set :views, Proc.new { File.join(root, "app", "views") } get "/" do erb :index end end # app/views/index.erb <h1>ABC</h1> 您正在混淆经典和模块化风格 Sinatra 应用程序。 为了使用模块化风格,替换 require 'sinatra' 与 require 'sinatra/base' 这将与您的 config.ru 一起使用。如果您希望能够使用 ruby application.rb 运行您的应用程序,那么您可以在 application.rb 的末尾添加类似的内容: if $0 == __FILE__ ABC.run! end 这会检查当前文件是否是用于启动程序的文件,如果是,则启动运行您的应用程序的内置服务器。 当您使用require 'sinatra'时,Sinatra 将设置为使用经典风格。在这里,它期望在顶层定义路由,并将它们添加到 Sinatra::Application 应用程序中。当您执行 ABC 操作时,运行的是此应用程序,而不是您的 ruby application.rb 应用程序。由于此应用程序上没有定义路由,因此任何 url 都会收到 404 错误。

回答 1 投票 0

将 TailwindCSS 添加到 SinatraRB

如今将 TailwindCSS 3.4 添加到 Sinatra 4 应用程序的最简单方法是什么? 有没有办法避免 npm 以及随之而来的所有 JS 复杂性?

回答 1 投票 0

使用Ruby和Sinatra,是否可以以“内部”或“内联”方式使用HAML?

我已经完成了 gem install sinatra 和 gem install haml 我有这个 .rb 文件 需要“西纳特拉” 得到 '/abc2' 做 “啊啊啊啊啊” 结尾 现在假设我想要 HTML 行,但使用 HAML...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.