我認爲最好的方法是將要求語句的責任放在您的Rails應用程序的JavaScript文件中。這很可能不是你想要隱藏在寶石中的功能,因爲它隱藏了正在發生的事情。
然後確保您需要您的gem的css文件,然後再使用foundation-rails。但是,您應該在您的gem的gemspec文件中添加一個依賴關係需求,以確保在您的gem安裝完成時,bundler會安裝foundation-rails gem。
此外,您可能必須「命名空間」您的寶石樣式表,以避免命名空間衝突。
vendor/assets/stylesheets/foobar_foundation_rails/foundation.css
這將改變你的樣式表文件中的要求,以
require 'foobar_foundation_rails/foundation.scss'
最後,寶石的命名建立創業板如何被需要。當您使用破折號Rails的預計需要的東西,因此你的寶石的目錄結構遵循
lib/foobar/foundation/rails
,而不是一個下劃線命名foobar_foundation_rails
lib/foobar_foundation_rails
除非你要建立一個「擴展「對於需要被稱爲foundation-rails-foobar的foundation-rails gem,您可能想要使用下劃線語法來爲自己節省一些需要頭痛的內容。設計寶石是擴展寶石的一個很好的例子。