【问题标题】:Access asset from asset-pipeline in gem从 gem 中的资产管道访问资产
【发布时间】:2014-10-03 12:25:29
【问题描述】:

我有一个使用资产管道的 Rails 应用程序。加载资产可以正常工作,例如使用 url_to_image

我现在有一个gem 我想访问使用过的 Rails 应用程序的资产管道。因此,当在 gem 中使用 url_to_image 时,应该创建与直接从 rails 应用程序调用它时相同的路径。

目前情况并非如此。当直接从 rails 应用程序调用它时,我得到例如root/assets/my_asset.png。从 gem 执行相同的调用时,我得到 root/images/my_asset.png

似乎不知何故,gem 无法访问应用程序的资产管道,因此无法找到它。为此,挂载目录回退到images

有什么办法可以解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 asset-pipeline assets


    【解决方案1】:

    Gem 不知道包含在其中的应用程序的资产,否则它必须知道包含它的所有应用程序的所有资产,这是不可能的。

    您的项目结构可能有问题...您可以做的是最终将默认资产放入 gem 并在您的应用程序中更改它以覆盖它。

    【讨论】:

    • rails 应用程序以及 gem 需要相同的资产。将资产添加到 gem 时,它们是否在应用中可用?
    • 但是在通过 gem 提供资产时如何访问 gem 中的资产?我的 gem 不包含 Rails::Engine,并将资产提供给应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2012-05-15
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多