2014-10-03 97 views
0

我有一個使用資產管道的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

這是什麼問題的解決方案?

回答

0

寶石不知道其中包含的應用程序的資產,否則它將不得不知道它包含在內的所有應用程序的所有資產,這是不可能的。

您的項目結構中可能有錯誤...您可以做的是最終將一個默認資產放在gem中並在您的應用程序中將其更改爲覆蓋它。

+0

rails應用程序以及寶石需要相同的資產。將資產添加到寶石時,它們在應用程序中可用嗎? – Razer 2014-10-03 12:48:58

+0

當然他們是 – coorasse 2014-10-03 12:50:34

+1

但是,如何通過寶石提供資產時,如何訪問寶石中的資產?我的寶石不包含Rails :: Engine,並將資源提供給應用程序。 – Razer 2014-10-03 13:22:27