次の問題の解決策を探しています。今、Railsアプリを開発しています。ブラウザでRubyでコーディングしてから、Railsアプリでそのコードを実行できるようにしたいと考えています。
すぐに使える解決策はありますか?
UPD:
- コードの強調表示はどうですか?
- ネイティブクライアントはどうですか?
次の問題の解決策を探しています。今、Railsアプリを開発しています。ブラウザでRubyでコーディングしてから、Railsアプリでそのコードを実行できるようにしたいと考えています。
すぐに使える解決策はありますか?
UPD:
これに対する実際の展開可能なソリューションはまだありませんが、概念実証としてtext/x-rubyを見ることができます。
ブラウザベースのIDEとして機能し、実行するためにコードをサーバーに永続化するCloud9IDEもあります。
eval
あなたが探しているものです。ユーザーがRubyコードを入力すると、RailsアプリにPOSTされます。コントローラ内で、送信されたRubyコードを評価する必要があります。
だが。あなたはおそらくこれを望まないでしょう。ユーザーが送信したコードを評価して実行する必要があると思われる場合は、おそらくその機能の必要性を再考する必要があります。これを安全にすることはほとんど不可能です。また、特定のユーザーから保護した場合でも、XSSを介して悪用される可能性があります。これは、この「機能」を介して、実際にサーバーをすぐに引き継ぐことができます。
https://github.com/codegram/rack-webconsole
または、postを介してRubyコードをサーバーに渡し、eval eval(CODE)
を呼び出すこともできます。
特に2番目の方法は、実行中のコードにシステムへの完全なアクセスを提供するため、非常に安全ではないことに注意してください。
これを本当に行う必要がある場合は、「 Rubyを安全にロックする」ことで安全を確保できます。
編集:
構文の強調表示については、コードミラーとACEを参照してください。どちらも、rubyをサポートするまともなソースコードエディタです。