从宝石中的资产管道访问资产
问题描述:
我有一个使用资产管道的rails应用程序。加载资源可以正常工作,例如url_to_image
。从宝石中的资产管道访问资产
我现在有一个gem
我想访问使用rails应用程序的asset-pipeline。因此,在gem中使用url_to_image
时,应该创建与从rails应用程序直接调用此路径相同的路径。
目前情况并非如此。当直接从Rails应用程序调用这个,我得到例如root/assets/my_asset.png
。当从宝石进行相同的呼叫时,我得到root/images/my_asset.png
。
看起来不知何故,该宝石无法访问该应用的资产管道,因此无法找到它。为此,它将回落到安装目录的images
。
这是什么问题的解决方案?
答
宝石不知道其中包含的应用程序的资产,否则它将不得不知道它包含在内的所有应用程序的所有资产,这是不可能的。
您的项目结构中可能有错误...您可以做的是最终将一个默认资产放在gem中并在您的应用程序中将其更改为覆盖它。
rails应用程序以及宝石需要相同的资产。将资产添加到宝石时,它们在应用程序中可用吗? – Razer 2014-10-03 12:48:58
当然他们是 – coorasse 2014-10-03 12:50:34
但是,如何通过宝石提供资产时,如何访问宝石中的资产?我的宝石不包含Rails :: Engine,并将资源提供给应用程序。 – Razer 2014-10-03 13:22:27