ruby-on-rails - rails 应用程序中的用户定义主题 : how to store the assets

标签 ruby-on-rails asset-pipeline assets

我正在构建一个应用程序,它应该允许用户上传他们的主题以自定义方式显示数据。
每个主题都应包括所有必要的 Assets ,例如 html 模板(使用 Liquid)、css 文件、javascripts 和图像。结果应该与 Shopify 允许对其客户执行的操作非常相似。

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

  • 为他们服务回访者。虽然使用自定义商店提供 html/liquid 文件似乎很容易,但我对如何引用和提供 1) 主题所需的图像,2) 主题所需的 css 文件,3) css 所需的图像感到困惑文件
  • 随后存储不同的 Assets 类型(例如,数据库与上传文件和上传文件的文件夹结构)
  • 用户可以通过 Web 界面编辑上传的模板

  • 提前致谢。

    最佳答案

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

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

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

    我不认为为此使用管道将是最佳实践,除非您真的非常关心前端性能;要让它继续下去需要做很多工作。

    数据库/文件系统的组合可能是最佳的。

    关于ruby-on-rails - rails 应用程序中的用户定义主题 : how to store the assets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692533/

    相关文章:

    ruby-on-rails - 如何为帖子建立标记系统?

    ruby-on-rails - Rails cron 作业每天运行以创建 2 年后的数据库记录。闰年如何计算?

    ruby-on-rails - ExecJS::RuntimeError:语法错误:意外的 token 运算符

    html - Angular 2/4 : How to load css file from Assets

    ruby-on-rails - rake 和 bin/rake 的区别

    ruby-on-rails - Rails 5.2 + Trix + ActiveStorage

    ruby-on-rails - Rails 中的动态作业调度

    ruby-on-rails - 将 CKEditor 与 Rails 3.1 Asset Pipeline 集成

    ruby-on-rails - Rails 应用程序不在生产环境中为 Assets 提供服务

    swift - 如何在 Swift Assets.xcassets 中查找以字符串开头的特定图像