我正在寻找下一个问题的一些解决方案:现在我正在开发一个Rails应用程序。我想有可能在浏览器中使用Ruby进行编码,然后在Rails应用程序中执行该代码。在浏览器中的红宝石
是否有一些现成的解决方案?
UPD:
- 怎么样的代码高亮?
- Native Client的情况如何?
我正在寻找下一个问题的一些解决方案:现在我正在开发一个Rails应用程序。我想有可能在浏览器中使用Ruby进行编码,然后在Rails应用程序中执行该代码。在浏览器中的红宝石
是否有一些现成的解决方案?
UPD:
https://github.com/codegram/rack-webconsole
或者你可以简单地将Ruby代码通过邮寄传递给服务器和呼叫evaleval(CODE)
。
您应该注意,特别是第二种方式非常不安全,因为它使执行代码能够完全访问您的系统。
如果这确实需要完成“Locking Ruby in the Safe”可以帮助保护它。
编辑:
语法高亮看看Code Mirror和ACE。这两个都是体面的源代码编辑器,支持ruby。
目前还没有任何真实的可部署解决方案,但您可以将text/x-ruby作为概念验证。
还有Cloud9 IDE作为基于浏览器的IDE,并将代码保存到您的服务器运行。
eval
是你在找什么。用户输入Ruby代码,将其发送到您的Rails应用程序。在你的控制器里面,你需要评估提交的Ruby代码。
但是。你可能不想要这个。如果确实需要评估和运行用户提交的代码,则很可能需要重新考虑对该功能的需求。这几乎不可能使安全。即使您从某些用户获得安全保护,它也可以通过XSS进行利用;它可以通过这个“功能”实时接管服务器。
这是一个巨大的安全漏洞,我闻到了吗? –
C++中的Native Client,而不是ruby。 – Raynos
@Raynos http://code.google.com/p/nativeclient/source/browse/trunk/src/native_client/tests/ruby/ruby.html?r=1053 – falinsky