1

ユーザーのコードのショーケースをオンラインで実装する方法を知りたいです。Rails アプリを作成しています。ユーザーが複数の対話ファイルを含むコード プロジェクトをアップロードし、それらをページ内に表示できるようにしたいと考えています。例を挙げると、javascript で記述され、HTML キャンバス要素でレンダリングされた Asteroids ゲームをアップロードできるようにしたいと考えています。このようなプロジェクトに含まれるファイルは次のとおりです。

Asteroids/
   |- asteroids.js
   |- app.js
   |- ship.png
   |- planet.png
   |- index.html
   |- underscore.min.js
   |- keymaster.min.js

理想的には、含まれているフォルダーをアップロードし、必要なすべての js/image ファイルにアクセスできる iframe で html ファイルをレンダリングできます。これが可能かどうかを知りたいのですが、可能であればどのように実装できますか?

4

1 に答える 1

1

したがって、私の理解が正しければ、ユーザーが既存の静的 Web プロジェクト (html、js、css) をアップロードし、それらへのリンクを提供してそれらを紹介できるようにする必要があります。

まず第一に、これは、Web サーバーのそれぞれのディレクトリへの ftp または ssh アクセスを許可することによって、Web ホスティング プロバイダーが長年行ってきたこととまったく同じです。ただし、すべてのサイトを 1 ページにリストします。

rorを使用してWebインターフェースからこれを行う方法について説明します(非常に一般的です):

  1. Web プロジェクトを作成するためのフォームを提供します。(コントローラーからパブリックディレクトリにディレクトリを作成します)。

  2. 同様に、フォルダ構造を作成するためのフォームを提供します。(すべてのユーザーが 1 つのフォルダーにファイルを持っている場合は必要ありません。その場合は手順 3 に進みます)。

  3. 作成された各フォルダーで、jquery-file-upload を rails のcarrierwave gem と組み合わせて使用​​して、各フォルダーに複数のファイルをアップロードできます。

  4. 以上で、パブリックディレクトリにあるプロジェクトのリストを作成し、ユーザーにそれらを示すことができるはずです。

  5. html を含む完全なプロジェクトがパブリック フォルダーにあるため、iframe で個別のプロジェクトを作成することもできます。

  6. 最後に、人々がコードをサーバーにアップロードできるようにすることに関連するセキュリティ上の脅威に注意してください。これらのファイルを Amazon s3 に直接アップロードすることをお勧めします。

ここでは、開始するための参考資料をいくつか示します。

CarrierWave の Rails キャスト

レールでのjquery-file-uploadとcarrierwaveの統合を示すサンプルプロジェクト

jquery-file のアップロードとレールでの carrirwave を使用して Amazon s-3 をストレージとして使用する方法を示すサンプル プロジェクト

それが役立つかどうか教えてください、または私は的外れです

于 2013-08-14T14:59:42.187 に答える