2012-01-01 23 views
5

私はユーザーが自分のテーマをアップロードしてカスタム方法でデータを表示できるようにするアプリケーションを構築しています。 各テーマには、htmlテンプレート(Liquidを使用)、CSSファイル、javascript、画像など、必要なすべてのアセットが含まれている必要があります。その結果は、Shopifyが顧客にできることと非常によく似ているはずです。rails appのユーザー定義テーマ:アセットを保存する方法

私は、ユーザーがテーマを送信してアプリケーションを返すための最良の方法を見つけるのに苦労しています。具体的には、ベストプラクティスとは何ですか:

  • 訪問者にサービスを提供する。 html/liquidファイルの提供はカスタムストアを使うだけで簡単ですが、私は1)テーマで必要なイメージ、2)テーマで必要なCSSファイル、3)cssで必要とされるイメージconsequentely異なる資産タイプを保存するには
  • ファイル(例えば、アップロードされたファイルのためにアップロードされたファイルとフォルダの構造対データベース)は、ユーザーがWebインターフェイス経由で

感謝をアップロードしたテンプレートを編集するための

  • 可能性前進。

  • 答えて

    3

    アセットパイプラインは、展開時に事前にコンパイルされた固定資産を処理するために設計されています。これにはかなりのオーバーヘッドがあり、動的に編集可能なコンテンツを配信するのには適していないと思います。

    この問題を攻撃するには、システム上のすべてのアセットタイプ(ユーザーと静的)のマトリックスのリストと、それぞれのオプションが何であるかを確認します。

    各書き込み可能なストレージオプションの次に、ファイルシステムraw、ファイルシステムパイプライン、データベース。次に、それぞれのアプローチの長所と短所、およびそれぞれのアプローチの複雑さを試してください。

    パイプラインを使用することは、実際にフロントエンドのパフォーマンスが心配されていない限り、ベストプラクティスとは言えません。それを進めるには多くの作業が必要です。

    データベース/ファイルシステムが混在しているのがおそらく最適です。

    +0

    こんにちはリチャード、あなたの返事をありがとうが、私は実際の例を探しています。スニペットまたはサンプルアプリを使用して、使用できる潜在的なアプローチが何であるかを理解してください。あなたが提供できる例がありますか? – Topo

    +0

    申し訳ありませんが、私は例を持っていません。 –

    関連する問題