2013-11-20 69 views
1

我正在使用rails4 + ruby​​2並嘗試創建一個rails引擎。這個引擎有一個獨立的資產目錄與它自己的樣式表(sass),JavaScript和圖像。image_path()爲引擎資產生成錯誤的圖像路徑

事情是,image_path() sass helper會生成錯誤的圖像路徑。假設我的引擎被稱爲「管理員」。在/admin/app/assets/images/admin/arrow.png中有一個名爲arrow.png的圖像文件。

如果在application.css.sass我要使用background: url(image_path('arrow.png')),它將生成以下url:/assets/arrow.png這將無法正常工作。正確的網址是/assets/admin/arrow.png

有可能是正確的,現在兩個可能的解決方案:

  1. 全部移動/admin/app/assets/admin/images/*/admin/app/assets/images,或
  2. 前綴image_path()方法與發動機的名稱,給了我image_path('admin/arrow.png')所有圖像名稱。

還有其他更好的方法來處理這件事嗎?

回答

2

最好的解決辦法是:

image_path('admin/arrow.png') OR asset_path('admin/arrow.png')

由於子文件夾也被合併到public/assets。這意味着app/assets/javascripts/subfolder/*app/assets/stylesheets/subfolder/*現在都住在public/assets/subfolder/*

相關問題