我想运行嵌入在某种 html 网页中的内联 ruby 代码。目前有 mongrel、thin 等 ruby 服务器,但我只想在 html 中运行内联 ruby,而不想制作符合我不想学习的框架的所谓 ruby 应用程序。我希望 ruby 代码像 PHP 一样运行,这样我就可以访问数据库、打印表格等等。
我应该有什么设置?
答案1
答案2
你可以看看我的答案回答 SO 上的一个类似问题。它与 Daniel 的回答有点相似,但我创建了一个 ruby-cgi 脚本,它可以为您做一些“魔术”。
答案3
西纳特拉足够简单,不会妨碍您(并且不会告诉您要做什么),但功能足够齐全,您可以快速上手,而无需付出太多努力。
您可以免费获得路由、视图(Erb 或 HAML/SaSS)、帮助程序、过滤器和对各种数据库适配器的支持。Sinatra 不会对您要做的事情做任何假设。您的项目可以根据需要简单或复杂。更重要的是,文档出色的还有好的例子(真实项目!)。
使用任何机架兼容的 HTTP 服务器(如 Mongrel 或 Thin)可以轻松部署 Sinatra 应用程序。
答案4
一个非常简单的设置是使用Phusion 乘客(能够运行任何 Ruby 机架应用程序,既可以独立运行,也可以作为 apache/ngix 模块运行)+机架服务器页面gem(这是一个小型 rack 应用程序,允许您使用嵌入的 Ruby 代码提供简单的 HTML 页面)。
在独立模式下使用 Passenger,您只需要在想要提供的文件的根目录中运行“passenger start”,并在该文件夹中创建一个只有两行内容的 config.ru 文件:
require 'rack-server-pages'
run Rack::ServerPages
现在,您可以将任何 .erb 文件放入public
子文件夹中来提供它们。
您也可以只运行“rackup”并让您选择的 ruby 服务器提供页面服务。