我认为最好的方法是将要求语句的责任放在您的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,您可能想要使用下划线语法来为自己节省一些需要头痛的内容。设计宝石是扩展宝石的一个很好的例子。