草庐IT

my_sinatra_app

全部标签

ruby - 根据 Windows 上的每个请求重新加载 Sinatra 应用程序

我已经根据这个thread设置了Rack::Reload#config.rurequire'rubygems'require'sinatra'set:environment,:developmentrequire'app'runSinatra::Application#app.rbclassSinatra::Reloader通过thinstart-Rconfig.ru使用thin运行,但它只会重新加载新添加的路由。当我更改现有路线时,它仍会运行旧代码。当我添加新路由时,它会正确地重新加载它,因此它可以访问,但它不会重新加载任何其他内容。例如,如果我将路线更改为get'/'do'bar'

ruby-on-rails - PostgreSQL gem for rails 不会安装,即使同时安装了 home brew 和 app

我试过按照这个answer让gem工作,但它不会。我设置了我的项目,这样各个项目都有自己的gem,而不是生活在全局空间中的所有主题gem,然后我使用binstubs来允许我做bin/rails.因此,每个项目的所有gem都安装到.bundle/gems/。总是给我带来最棘手问题的是posgresql。让我们完成这些步骤。所以我跑:bundle它爆炸说:Gem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Ver

ruby - 使用 Sinatra 提供静态文件

我有一个仅使用HTML、CSS和JavaScript的页面网站。我想将应用程序部署到Heroku,但我找不到执行此操作的方法。我现在正在尝试使应用程序与Sinatra一起工作。.|--application.css|--application.js|--index.html|--jquery.js`--myapp.rb下面是myapp.rb的内容。require'rubygems'require'sinatra'get"/"do#WhatshouldIwriteheretopointtothe`index.html`end 最佳答案

Ruby Sinatra 在没有 PEM 和 OpenSSL::SSL::VERIFY_NONE 的情况下创建发布请求

我尝试使用SSL创建POST请求,但没有OpenSSL::SSL::VERIFY_NONE,因为它打开了安全攻击并且没有PEM证书。但是我遇到了问题,我发送POST请求的ruby​​代码:post'/test/test1'docross_originpost_data=request.body.readres_Data=JSON.parse(post_data)userName=res_Data['username']@responseFromServer=''uri=URI('https://test.com/test1')Net::HTTP.start(uri.host,uri.p

ruby-on-rails - 精简 EventMachine Sinatra 与 Rails

我一直在研究使用EventMachine为一些工作做后台处理的可能性。在Sinatra中,这似乎工作得很好,但Rails3似乎在呈现View之前执行所有滴答。当我在瘦网络服务器下运行以下代码时,它的行为符合预期。第一个请求立即返回,第二个请求等待3秒sleep调用完成。这是预期的行为。classEMSinatra而在Rails3运行中,我试图做同样的事情:(在瘦身下运行)classEmController在Rails中,sleep调用发生在将View呈现给浏览器之前。结果是我等待3秒来呈现初始页面。有人知道为什么会这样吗?我不是在寻找关于这是否是一个好习惯的评论。我只是在试验。将小任务

ruby - 如何在另一个 Sinatra 应用程序中安装 Sinatra 应用程序?

我正在尝试编写一个将组件组合在一起的Sinatra应用程序(有点像Controller)。所以对于“博客”相关的东西,我想要一个名为Blog的应用程序安装在/blog上。Blog应用程序中包含的所有路由都与它的挂载路径相关,因此我可以简单地定义一个index路由,而不必在路由中指定挂载路径。我最初是通过使用config.ru文件并将路由映射到不同的应用程序来处理这个问题的。我遇到的问题是,我使用了各种需要包含在所有应用程序中的sinatragem/扩展/助手,所以有很多重复代码。如何将一个sinatra应用程序安装到另一个应用程序中,以便应用程序中定义的路由与应用程序的安装位置相关?如

ruby - Sinatra 使用 Puma 进行流式传输?

我正在尝试在我的应用程序中利用服务器发送的事件。我正在使用Sinatra和sinatra-ssegem。这个gem包装了Sinatrastream:keep_alive调用。在Thin上运行我的应用程序时,我完全没有问题,并且我的事件流按预期工作。但是,当我将我的应用程序切换为与Puma一起运行时,一切正常,除了我的sse_stream什么都不做!它只返回一个空白页。我的流是这样设置的get"/logstream/:server"doifrbcserver=MyApp.servers[params[:server]]sse_streamdo|stream|rbcserver.add_w

ruby - 将 ORM 添加到 Sinatra 应用程序;有没有问题少性能好的理想的?

我希望将ORM添加到我现有的Sinatra应用程序中。尽管我还没有尝试过ActiveRecord,但我了解了Datamapper、Sequel和ActiveRecord。Datamapper看起来很简单,但我一直面临“WhatORMtouseinoneprocessmultipledbconnectionssinatraapplication?”中讨论的问题,但无法理解解决方案和根本原因。对于选择合适的、以性能为导向的ORM有什么建议吗? 最佳答案 Sequel足够快,但功能较少,而ActiveRecord有许多很酷的功能,导致一些

ruby - Sinatra中 `redirect`和 `redirect to`的区别

在Sinatra中使用redirect和redirectto有什么区别?他们似乎都默认为相同的状态代码。to'/url'位是否只是为了使方法更具可读性的一些语法上的好处? 最佳答案 redirect方法发送HTTPheader以将客户端重定向到给定的URL,传递的参数应该是带有主机的完全限定URL(例如http://example.com/path,而不仅仅是/path)。to方法将路径转换为​​Sinatra应用程序的完整URL,允许在redirect中使用生成的URL。例如。to('/path')将变为http://yoursi

ruby-on-rails - 在rails app目录中将文件夹作为模块常量加载的方法

所以有一个Rails5项目并且想要加载这样的目录/app/services/userfoo.rb作为常量::Services::User::Foo有没有人有使用Rails自动加载路径以这种方式加载常量的经验?foo.rbmoduleServicesmoduleUserclassFooendendend解决方案将此添加到您的application.rb文件config.autoload_paths在此处查看有关自动加载的讨论https://github.com/rails/rails/issues/14382#issuecomment-37763348https://github.com