В настоящее время у меня есть две области ввода текста для пользователей, которые записывают Javascript и JS-библиотеку в браузере и запускают ее с помощью кнопки запуска. Вот вид html:
<textarea id="scriptJS" rows="20" style="width:100%;">
</textarea>
<textarea id="libsJS" rows="20" style="width:100%;">
</textarea>
<button id="btn-run">Run</button>
<canvas id='your_canvas'></canvas> </br>
Нажимая "Выполнить", Canvas будет отображать изображение в результате кода (Webgl). Ниже приведен Javascript, чтобы сделать это возможным:
$(window).load(function(){
$("#btn-run").on('click', function(){
scriptJS = $("#scriptJS").val();
libsJS = $("#libsJS").val();
eval(libsJS);
eval(scriptJS);
main();
});
});
Теперь то, что мне нужно знать в Ruby on Rails, - это то, как я могу написать это, чтобы при щелчке пользователем запустить изображение результата в Canvas (webgl) сохраняется и автоматически отображается в профиле пользователей. Мне нужно, чтобы 3D-результат изображения был сохранен и отправлен с кодом, чтобы вы могли взаимодействовать с изображением на холсте после его сохранения и публикации. Любая помощь будет большой.
Не могу увидеть какой-либо код ruby, но я предполагаю, что вы хотите перенести отображаемое изображение на сервер, поэтому для этого нужно создать контекст webgl с помощью 'preserveDrawingbuffer'. Когда включено, вы можете вызвать toDataURL в элементе canvas и получить jpg/png любую строку base64, которую вы можете отправить на ваш сервер с помощью ajax.
О, и возьмите часть этого, пока вы на нем: eval is evil