我正在尋找下一個問題的一些解決方案:現在我正在開發一個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