如何让 sinatra 应用程序在 Rails 4 中运行?

2023-12-22

我有一个 Sinatra 应用程序,我想开始在 Rails 中构建新功能,同时仍然支持现有的 Sinatra 功能。我尝试过以下策略:

  1. sinatra 的rackup 将一些请求路由到rails,将一些请求路由到sinatra
  2. sinatra 的rackup 包括rails
  3. Rails 的 Rackup 包括 sinatra。

我的许多搜索结果都是 Rails 3,而不是 4。此外,Rails 是否have生成数据库与使用 Sinatra 使用的数据库(在本例中是 Sequel gem 来访问 Sqlite3)。一般来说,我遇到的错误与 gem 和路径有关。 (尽管我确实重新捆绑并尝试了不同版本的路径。)

关于在仍然支持现有 Sinatra 应用程序的同时使用 Rails 4 的最佳方式有什么建议吗?


我认为 Rails/Rack 集成代码在 Rails 3 和 4 之间没有太大变化,所以你应该没问题。机架导轨指南 http://guides.rubyonrails.org/rails_on_rack.html更详细地解释了您可以制作config.ruRails 应用程序的文件如下所示:

require ::File.expand_path('../config/environment',  __FILE__)

use Rack::Debugger
use Rack::ContentLength
run Rails.application

然后运行rackup config.ru将启动运行您的 Rails 应用程序的机架服务器。

的答案这个问题 https://stackoverflow.com/questions/11165531/rackup-mounting-apps-vs-rails-mounting-for-sinatra-apps指出如果您从 Rack 运行 Rails 和 Sinatra,而不是在 Rails 中安装您的 Sinatra 应用程序routes.rb文件中,对 Sinatra 应用程序的请求根本不会通过 Rails。答案还表明,在您的config.ru您应该能够执行此操作来支持您的 Sinatra 和 Rails 应用程序:

map "/" do
  run RailsApp::Application
end

map "/url1" do
  run SinatraApp1
end

当然,您必须修改路由和应用程序名称以满足您的需求和应用程序。

我建议首先让您的应用程序通过一个 config.ru 运行,然后询问有关您的数据库的另一个问题,更详细地解释您希望的数据库设置以及您收到的确切错误消息是什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 sinatra 应用程序在 Rails 4 中运行? 的相关文章

  • 如何将枚举作为字符串存储到rails中的数据库中

    如何在 ruby 中创建迁移 其中默认值是字符串而不是整数 我想将枚举存储到数据库中 但我不想将其存储为整数 因为这样对于另一个应用程序来说没有意义想要使用同一张桌子 我该怎么做default female 代替default 0 clas
  • 不理解 Ruby ljust/rjust/center 方法

    我正在学习嵌套 我的任务是使每条新行都以缩进开头 这是我的代码 但它不起作用 nestingDepth 0 def logger description block puts Beginning description rjust nest
  • 装饰 Rails 中的属性

    我有一个name上的属性Person模型 每次我访问name属性 我想要name capitalize被退回 在模型内执行以下操作将不起作用 def name name capitalize end 那么还有什么选择呢 我建议您使用自定义格
  • 查询,无法选择列数

    Tag joins quote tags group quote tags tag id order count desc select count tags id AS count tags id tags name Build quer
  • 黄瓜测试java例子?

    我想尝试使用黄瓜测试的示例应用程序 黄瓜测试可以仅使用 ruby 完成 也可以使用 java 完成 请帮我举一个示例 谢谢 您可以查看我们在我们这里编写的一个简单示例来演示 cucumber jvm https github com gph
  • STI 在遗传类型之间发生变化。

    在我的模型中 我像这样使用 STI 车辆型号 vehicle rb class Vehicle lt ActiveRecord Base end 车型 car rb class Car lt Vehicle end 总线模型 bus rb
  • 使用 Paperclip 和 Multipart 请求将文件上传到 Rails JSON API 服务器

    我想将文件从 Android 客户端上传到 Rails JSON API 服务器 我正在从 Android 客户端发送一个 Multipart form 请求 如下所示 Content Type multipart form data bo
  • Sinatra 在《Passenger》上的第一次尝试总是失败

    我有一个小型 Sinatra 应用程序 正在使用 Passenger 在共享托管帐户上运行 但是 在一段时间后第一次访问该应用程序时 我收到一个 Passenger 错误页面 指出该应用程序无法启动 通常是因为找不到 Sinatra 我假设
  • 如何让 DateTime.parse 返回您所在时区的时间?

    我需要这个 require date DateTime parse Mon Dec 27 6 30pm 返回 EDT 时区下午 6 30 的日期时间 但返回 UTC 时间 如何获取 EST 日期时间或将 UTC 日期时间转换为下午 6 30
  • Mac + Ruby:无法访问 Socket 的 ioctl?怎么修?

    一天中的好时光 红宝石代码 def hw address iface sock Socket new Socket AF INET Socket SOCK DGRAM 0 buf iface pack a16h16 sock ioctl S
  • 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

    尝试找出用于验证网络路径的正则表达式 即 comp xyz or comp or comp x y z storage或者所有部分都更长的东西 但希望能够传达其要点 我目前拥有的是一个简单的输入字段 用户可以通过它传递信息 事情是我不希望他
  • 可以通过 url 发送 JSON 吗?

    我有一个 ruby 哈希 其中键是 url 值是整数 我将哈希值转换为 JSON 我想知道是否能够通过 AJAX 请求在 url 内发送 JSON 然后从 params 哈希值中提取该 JSON 另外 我将把 JSON 化的 ruby 哈希
  • 随机显示 NoMethodError:未定义的方法“空?”对于 0:Fixnum

    它在我的本地计算机上运行良好 但使用 Puma Web 服务器在 Heroku 上的rails admin 中出现以下错误 这是我使用 enumerize 的方式 enumerize date type in last date 0 beg
  • 限制 Imagemagick 使用的空间和内存

    我在 Rails 应用程序上使用 Imagemagick 使用 rmagick 但我的服务器 Ubuntu 不是很大 当我启动转换进程时 Imagemagick 占据了我的服务器 30GB HDD 的所有位置 内存 我想限制内存和 tmp
  • 在 Rails 中将多个输入字段作为列表发布,而不是使用单独的名称。

    我想向控制器提交一个列表 其中包含form for 该列表应填充text fields 此实施将提交 some list列表中只有一个 text field 的值 如预期 我想要 X 数量text fields 作为列表提交 因为文本字段的
  • 与heroku配合使用的统计引擎

    我有一个 Heroku Rails 应用程序 需要处理一些重要的数字 并且我需要使用像 R 这样的统计库 更糟糕的是 MatLab 我正在寻找以下任何问题的答案 是否有不需要二进制文件的功能齐全的统计包 GEM 是否可以将 R 二进制文件作
  • Production.log 中没有日志消息

    我编写了一个演示 HelloWorld Rails 应用程序并使用 WEBrick 对其进行了测试 它甚至不使用数据库 它只是一个打印 hello world 的控制器 然后我尝试将其部署到由 Passenger 驱动的本地 Apache
  • Ruby openssl 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有 Ruby 的在线文档openssl图书馆 我能找到的只是博客文章和第三方文章 而 rdoc 本
  • Rails 4 中如何使用 attr_accessible?

    attr accessible似乎不再在我的模型中工作 Rails 4 中允许批量分配的方法是什么 Rails 4 现在使用参数强 http edgeapi rubyonrails org classes ActionController
  • 如何监听第三方应用程序触发的数据库更改

    我需要将 Ruby on Rails 应用程序与第 3 方应用程序集成 该应用程序将共享一个公共 PostgreSQL 数据库 也就是说 Rails 应用程序和第 3 方应用程序将使用相同的 PG 数据库 是否可以在 Rails 应用程序中

随机推荐

  • 如何防止 DIV 扩展并占据所有可用宽度?

    在下面的 HTML 中 我希望图像周围的框架能够紧贴 不要拉伸并占据父容器中的所有可用宽度 我知道有几种方法可以做到这一点 包括可怕的事情 例如手动将其宽度设置为特定数量的像素 但是什么是right way Edit 一个答案建议我关闭 d
  • ARRAY_CONTAINS hive 中的多个值

    有没有一种方便的方法来使用 hive 中的 ARRAY CONTAINS 函数来搜索数组列中的多个条目 而不仅仅是一个 所以而不是 WHERE ARRAY CONTAINS array val1 OR ARRAY CONTAINS arra
  • 如何在ios中调整uilabel的角度[重复]

    这个问题在这里已经有答案了 i m creating an iphone app in that application i want to angle the label according to the attached screen
  • iOS 8 CoreData 问题:recordChangeSnapshot:forObjectID:: 录制时全局 ID 可能不是临时的

    我正在将我的应用程序从 iOS 7 迁移到 iOS 8 当我尝试保存核心数据上下文时 我在 Xcode 中收到以下错误 iOS 7 和 Xcode 5 中不存在此错误 它会在下面的行中抛出异常 NSError saveError nil i
  • Django:“sys.path”应该是什么?

    开发 Django 应用程序时 什么是sys path应该包含 包含项目的目录 或项目的目录 或两者 sys path应该并且将会有项目的目录 根据您的设置 它还可能包含包含项目的目录 但是 如果这个问题背后的动机是确保可以找到某些文件 那
  • 如何在Windows批处理文件中循环连接字符串?

    我熟悉 Unix shell 脚本编写 但对 Windows 脚本编写不熟悉 我有一个包含 str1 str2 str3 str10 的字符串列表 我想这样做 for string in string list do var string
  • 调用未定义的方法 Maatwebsite\Excel\Excel::load()

    我正在尝试使用 maatwebsite 3 0 导入 Excel 文件 xlsx 如何修复此错误 调用未定义的方法 Maatwebsite Excel Excel load 我的控制器 public function importsave
  • CGMutablePathRef 的自动释放?

    我正在为 iPhone 开发 我想通过 CGPathCreateMutable 创建一个可变路径 并且我想从创建它的函数中返回它 我应该在完成后调用 CGPathRelease 但既然我要归还它 我希望自动释放它 由于 Quartz 路径是
  • 如何使用MockBloc实现widget测试?

    我正在尝试实现小部件测试以测试登录表单 该测试取决于我使用 MockBloc 嘲笑的块 但是 它会引发以下错误 EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK The following StateEr
  • 使用 odeint 求解 ODE 时如何传递源项

    强迫谐振子的微分方程为Mx Lx w 2 x F t 这里 F t 是源项 为了解决这个问题 我编写了一段代码 在函数 diff 中定义微分方程 我编写了另一个函数 generate pulse 来给出 F t 然后我使用 odeint 它
  • AngularJS 中的控制器功能?

    我是角度js新手 控制器在我的代码中无法正常工作 我正在尝试运行以下代码 name br div div
  • Haskell 中的高效比特流

    在不断努力有效地摆弄位的过程中 例如 请参阅此所以问题 https stackoverflow com questions 43601927 efficient bit fiddling in a lfsr implementation 最
  • 通过PHP邮件发送邮件速度慢

    我有一个拥有超过 100 万成员的大型董事会 并且在向每个成员发送电子邮件之间存在很大的延迟 按照目前的速度 我实际上需要 3 个月的时间才能向所有 100 万会员发送电子邮件 我的机器 专用 双四核至强 32G 公羊 森托斯 5 4 v公
  • 在 Angular 2+ 中路由到延迟加载模块中的特定页面

    我的主应用程序路由器中有以下内容 path users loadChildren app modules users users module UsersModule canLoad AuthGuard 当用户转到http localhos
  • 使用原型的Javascript如何设置数字的“this”值?

    那么 如果我们能够克服 你应该吗 的问题 问题 有谁知道如何在原型中设置整数的值 Number prototype add function num var newVal this valueOf num this valueOf newV
  • Fragment 中的 OnPostCreate

    我正在使用一个TextWatcher在我的活动中onPostCreate但现在我把它变成了一个片段 在 Fragment 中相当于什么 Override protected void onPostCreate Bundle savedIns
  • Koin 共享范围为嵌套图的依赖关系

    我想知道如何正确确定 Koin 库的依赖范围 由于 Google 推荐了single Activity建筑学 https android developers googleblog com 2018 05 use android jetpa
  • ANGULAR 7 重新加载组件视图

    我想通过单击按钮图标来重新加载组件视图 而不刷新整个页面 我的查看代码
  • WSDServiceFactory 中的空指针异常 - Apache CXF 库

    我的代码有问题 WSDL 文件由来自 apache cxf 的 wsdl2java 解析 现在我正在尝试连接网络服务 但仍然遇到空指针异常 Exception in thread main java lang NullPointerExce
  • 如何让 sinatra 应用程序在 Rails 4 中运行?

    我有一个 Sinatra 应用程序 我想开始在 Rails 中构建新功能 同时仍然支持现有的 Sinatra 功能 我尝试过以下策略 sinatra 的rackup 将一些请求路由到rails 将一些请求路由到sinatra sinatra