如何从网页运行ruby脚本?

时间:2013-12-06 21:04:13

标签: ruby-on-rails ruby

在编程方面我是一个全新的东西,我正在尝试使用ruby on rails连接到其他API,因为它似乎是一个很好的选择。

在我尝试连接到API之前,我只想弄清楚如何从网页运行脚本,但是当我在浏览器中导航到它时,它只是试图保存.rb文件。我在文件中的代码是:

puts "hello world"

我将.rb文件上传到我的网络服务器并转到了URL,它只是尝试保存文件。抱歉这个愚蠢的问题,但我无法弄明白该怎么做!

4 个答案:

答案 0 :(得分:4)

通常,要运行这样的简单命令,您可以通过终端运行ruby脚本:

ruby /path/to/ruby/script.rb

否则,如果您坚持为此目的使用网络服务器(或者,如果您的用例需要),您应该查看基于ruby的简单Web服务器/框架,如rack,{{3}等等。

特别是在机架中,您可以保存以下文件(例如:hello.rb):

require 'rubygems'
require 'rack'

def application(env)
   [200, {"Content-Type" => "text/html"}, "Hello world."]
end

Rack::Handler::Mongrel.run method(:application), :Port => 9292

然后,您可以使用终端运行上述文件:

ruby /path/to/hello.rb

并且,这将创建一个端口为9292的本地Web服务器,您可以在http://127.0.0.1:9292/打开上面的页面,页面会显示:Hello world.

答案 1 :(得分:2)

您需要一台应用服务器才能投放网页。看看sinatra,rails和rack。

http://m.onkey.org/ruby-on-rack-1-hello-rack

答案 2 :(得分:2)

经典的Web服务器(如Apache,nginx,Tomcat等)完全按照您的描述执行,并执行许多其他功能。要运行ruby脚本,您需要一个Ruby应用程序服务器,并且Web服务器需要将请求反向代理到该服务器。绝对可以在Rails上学习一些教程,你会看到很多例子。

答案 3 :(得分:0)

如果要在客户端(而不是在服务器上)运行Ruby脚本,可以使用Ruby-to-JavaScript编译器,例如Opalruby2js

例如,Opal将puts "hello world"翻译为

/* Generated by Opal 0.11.0 */
(function(Opal) {
  var self = Opal.top, $nesting = [], nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice;

  Opal.add_stubs(['$puts']);
  return self.$puts("hello world")
})(Opal);
相关问题