Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails应用程序中的用户定义主题:如何存储资产_Ruby On Rails_Asset Pipeline_Assets - Fatal编程技术网

Ruby on rails rails应用程序中的用户定义主题:如何存储资产

Ruby on rails rails应用程序中的用户定义主题:如何存储资产,ruby-on-rails,asset-pipeline,assets,Ruby On Rails,Asset Pipeline,Assets,我正在构建一个应用程序,允许用户上传他们的主题,以自定义方式显示数据。 每个主题都应该包括所有必要的资产,如html模板(使用Liquid)、css文件、Java脚本和图像。结果应该非常类似于Shopify对客户所做的事情 我正在努力寻找最好的方式,让用户提交他们的主题,让应用程序为他们服务。具体来说,最佳做法是什么: 把它们还给来访者。虽然使用自定义存储来提供html/liquid文件似乎很容易,但我不知道如何引用和提供1)主题所需的图像,2)主题所需的css文件,3)css文件所需的图像

我正在构建一个应用程序,允许用户上传他们的主题,以自定义方式显示数据。 每个主题都应该包括所有必要的资产,如html模板(使用Liquid)、css文件、Java脚本和图像。结果应该非常类似于Shopify对客户所做的事情

我正在努力寻找最好的方式,让用户提交他们的主题,让应用程序为他们服务。具体来说,最佳做法是什么:

  • 把它们还给来访者。虽然使用自定义存储来提供html/liquid文件似乎很容易,但我不知道如何引用和提供1)主题所需的图像,2)主题所需的css文件,3)css文件所需的图像
  • 从而存储不同的资产类型(例如,数据库与上载文件以及上载文件的文件夹结构)
  • 用户可以通过web界面编辑上传的模板

提前感谢。

资产管道主要用于为部署时预编译的固定资产提供服务。这样做会有很大的开销,我认为它不适合提供动态可编辑的内容

为了解决这个问题,我将列出系统上所有资产类型(用户和静态)的矩阵,以及每个资产类型的选项

在每个可能写入的存储选项旁边,例如文件系统原始、文件系统管道、数据库。然后计算出每种方法的优缺点,以及每种方法的大致复杂性

我不认为使用管道来实现这一点是最佳实践,除非您真的非常关心前端性能;要让它运行起来需要做很多工作


数据库/文件系统的混合可能是最佳选择

嗨,Richard,谢谢你的回复,但我正在寻找真实的例子,例如片段或示例应用程序,以了解可以使用的潜在方法。你有什么可以提供的例子吗?对不起,我没有任何例子。