2011-02-09 66 views
1

我認爲將整個gem解包到我的應用程序中會是過分矯枉過正。有沒有一種方法可以覆蓋它提供的單個視圖?什麼是覆蓋寶石視圖的適當方式?

這款寶石是spree_easy_contact,它允許您輕鬆地將聯繫人表單添加到您的Spree應用程序。我只是想篡改其中一個觀點來說一些替代方案。

+0

哪個寶石?設計(在黑暗中拍攝)? – 2011-02-09 16:55:25

+0

我們確實需要更多信息,有些寶石可以輕鬆實現,而其他寶石則不那麼容易。例如,在設計的情況下,您只需修改路線並自行覆蓋視圖。其他人可能不會那麼容易。 – 2011-02-09 17:04:05

回答

2

如果gem是命名空間,那麼你可以在你的本地應用程序中命名空間你的視圖。例如,如果寶石命名空間,best_gem_ever,那麼你的應用程序的結構是這樣的:

app 
- assets 
- controllers 
- helpers 
- mailers 
- models 
- views 
- - best_gem_ever 
- - - wonderful_controller 
- - - - index.html.erb 

在我的工作中,我們有意使用這項技術允許客戶覆蓋前端意見,同時還拉動管理視圖來自寶石。它工作得很好。

需要注意的一點是,如果您創建了存儲在本地資產文件夾中的任何資產文件,那麼出於某種原因,資產管道不會接收它們。他們必須顯式添加到你的config.assets.precompile列表中。

希望有幫助!