sinatra 相关问题

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

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

Sinatra 参数为空

我有一个 Sinatra 表单,它似乎没有接收任何参数。如下更新,有效负载提交非常好。 我有一张 Sinatra 表格,但似乎没有收到任何 params。如下更新,有效负载提交非常好。 <form method="post" action="login" id="form1"> <label for="s_uname">Username:</label> <input type="text" name="s_uname" required value="Blub"> <label for="s_pw">Password:</label> <input type="password" name="s_pw" required value="yayayayayay"> <input type="hidden" name="s_type" value="French"> <button type="submit">Log in</button> </form> 在接收POST路由中,我有以下内容: post "/login" do puts 'POST /login' # ==> POST /login puts 'params' unless params.empty? puts 'no params' if params.empty? # ==> no params puts params # ==> {} end 我完全没有得到任何参数。形式很好,路线也很好,我首先在这条路线内进行测试。什么都没有通过。我的 params 中没有任何东西可以清空任何 app.rb,而且我想不出有什么可以做到这一点。 我该如何解决这个问题?我可以以某种方式追踪数据吗?我以前没见过这个。我的 Gemfile 和软件是最新的。 更新:我已经检查过,有效负载很好。正如预期的那样。 更新2:我在任何route之前在我的app.rb中输入了这个,它是空的: puts "params at app.rb 36: #{ params }" 这是在我的before块中,它是空的。 表单属性与路由不匹配 您表单的 action 属性对于 /login 路线无效。具体来说: <form method="post" action="login" id="form1"> 不提供您的路线所需的前导斜杠。更改您的表单,以便您的操作中指定的目的地与您的路线相匹配。例如: <form method="post" action="/login" id="form1">

回答 1 投票 0

Sinatra 不解析 Slack 交互式内容负载

我正在尝试使用 Slack 交互式内容将按钮的响应发送到 Sinatra 应用程序,但主体没有被反序列化。 每当我尝试使用 Slack 消息按钮时,我都会收到此消息...

回答 1 投票 0

如何配置Sinatra以接受更多选项参数?

我正在使用 Sinatra 作为在本地主机上运行的桌面应用程序。当我启动它时,我想向它传递一个像 ruby mysinatra.rb -first_name="My Name" 这样的选项,但是,我不断陷入困境......

回答 1 投票 0

使用 erb 模板和 sidekiq

我同时使用 sinatra 和 sidekiq。我正在尝试从 sidekiq 工作程序中渲染 erb 模板,但我得到了一个未定义的方法“erb”。在我看来,事情应该有效,因为 sidekiq 是......

回答 2 投票 0

如何将实例变量传递到 Sinatra 路由中的 erb 模板?

如何将实例变量传递到 Sinatra 路由中的 erb 模板。下面的不行。 得到 '/' 做 @beercompany =“库尔斯” erb:我的模板 结尾 我的寺庙...

回答 1 投票 0

Ruby Sinatra ActiveRecord 中的基本搜索

我正在尝试为 Sinatra 上的简单产品库存应用程序创建基本搜索功能,但不知道如何使控制器和视图正确输出具有相似 n 的所有产品...

回答 1 投票 0

如何知道linux上安装了哪个版本的sinatra?

我在终端上,我不知道如何检查我系统上安装的 sinatra 版本。

回答 2 投票 0

在 Sinatra 中获取规范文件的更简单方法

我有一个如下所示的spec_helper: 需要“撬” 需要“helpers/data_helper.rb” 需要“distributer.rb” 需要“house_distributer.rb” 需要“accounting_service.rb” 需要'mixer_wor...

回答 3 投票 0

如何在 Sinatra 中运行测试?

我不知道如何测试我的 Sinatra 应用程序。我只是跑吗 红宝石 这似乎不起作用。那里的所有文件只讨论如何编写文件内容,而不讨论如何...

回答 3 投票 0

ActiveRecord::RecordNotFound - 找不到 id=favicon.ico 的位置

我在本地运行 Sinatra 应用程序,它工作正常,但我无法将该应用程序部署到 heroku 或 EC2。我在我的日志(本地)中收到以下有关 favicon.ico 的信息。我已将此文件添加到我的应用程序中,但它...

回答 2 投票 0

修复弃用警告:调用 ActiveRecord::Base.clear_active_connections

我正在使用 Active Record 开发 Ruby Sinatra 应用程序,每次 HTTP 调用时它都会在控制台中打印此错误消息。 我找不到有关此弃用的更多信息或...

回答 1 投票 0

为每个请求创建新的 sinatra 对象,但初始化只调用一次

我通过以下脚本创建了一个非常简单的Web服务器: 需要“西纳特拉” 我的应用程序类 < Sinatra::Base def initialize(app = nil) super(app) puts "******** construc...

回答 1 投票 0

如何使用 Sinatra 在 RSpec / VCR 中模拟远程服务器?

VCR Cucumber 文档显示了许多使用小型 Sinatra 应用程序来模拟远程服务器的示例,使用从 vcr_cucumber_helpers.rb 加载的名为 start_sinatra_app 的函数。 我想用一些...

回答 2 投票 0

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