如何在 Rails Engine 4.1.5 中安装 Foundation

How to install Foundation in Rails Engine 4.1.5

foundation 似乎 "play nicely" 没有 rails 引擎。我正在设计一个样式布局引擎,以便我可以将该引擎即插即用到各种后端应用程序中。我很想用基础来做设计工作,但无论我尝试什么不同的安装技术,我似乎仍然会遇到同样的错误:

我最初尝试 运行宁:

$rails g foundation:install 

返回:

"could not find generator foundation:install" 

我仔细检查了我的包,因为我在我的 gemspec 文件中添加了 zurb-foundation。它在我的捆绑包中,所以我认为这是我使用 rails 引擎而不是常规 rails 应用程序的兼容性问题。我在其中找到了这篇文章:https://github.com/zurb/foundation/issues/1225

我尝试按照@ivansnek 的指示进行操作。这在我的 chrome 控制台中给了我这些错误:

foundation.js?body=1:26 Uncaught TypeError
foundation.alerts.js?body=1:58 Uncaught ReferenceError: Foundation is not defined
foundation.clearing.js?body=1:517 Uncaught ReferenceError: Foundation is not defined
foundation.cookie.js?body=1:75 Uncaught ReferenceError: Foundation is not defined
foundation.dropdown.js?body=1:184 Uncaught ReferenceError: Foundation is not defined
foundation.forms.js?body=1:556 Uncaught ReferenceError: Foundation is not defined
foundation.joyride.js?body=1:853 Uncaught ReferenceError: Foundation is not defined
foundation.magellan.js?body=1:137 Uncaught ReferenceError: Foundation is not defined
foundation.orbit.js?body=1:432 Uncaught ReferenceError: Foundation is not defined
foundation.reveal.js?body=1:354 Uncaught ReferenceError: Foundation is not defined
foundation.section.js?body=1:431 Uncaught ReferenceError: Foundation is not defined
foundation.tooltips.js?body=1:210 Uncaught ReferenceError: Foundation is not defined
foundation.topbar.js?body=1:371 Uncaught ReferenceError: Foundation is not defined
foundation.interchange.js?body=1:281 Uncaught ReferenceError: Foundation is not defined
foundation.abide.js?body=1:195 Uncaught ReferenceError: Foundation is not defined
application.js?body=1:15 Uncaught ReferenceError: $ is not defined

然后我在此处尝试了基金会文档中的常规 ol' 手动安装指南:http://foundation.zurb.com/docs/applications.html 这给了我上面列出的相同错误。有没有人 运行 解决过这些问题,并且可以为我指明正确文档的方向,或者向我解释你是如何成功地将基础安装到 rails 引擎中的?作为结束语,foundation 在我的虚拟应用程序中似乎运行良好。它只是在我的实际引擎中,我无法让它很好地发挥作用。在我的虚拟应用程序中,我能够 运行 成功地安装生成器。我的实际引擎需要手动安装而不是 rails 生成器。

编辑:

我添加了 gem 'foundation-rails'。所以现在我的引擎中包含了 zurb-foundation gem 和 foundation-rails gem。这消除了我遇到的 'Uncaught ReferenceError' 错误。但是现在对 jQuery 的引用不起作用。我的 google 控制台错误显示 "jQuery is not defined." 这让我相信手动安装仍然不顺利。我在我的 application.js 中引用基础,例如:

//= require foundation
$(document).foundation();

确保在您的 Gemfile 中包含以下行:

gem 'zurb-foundation'

之后你必须运行 bundle 命令。然后再试一次

rails g foundation:install

首先 - 摆脱 zurb-foundation gem。它已经死了(最后一个版本是 2013 年)并且在你的 gem 中有两个不同版本的 Foundation 只会让人头疼。

我最近在使用 foundation-rails 5.5.1.1 的普通 rails 应用程序中遇到了这个问题。这似乎是由于 foundation/foundation("core")之前需要插件的错误,fixed in a commit 但尚未发布。

您可以使用 master 分支 github:

gem 'foundation-rails', github: "zurb/foundation-rails"

或者在链轮清单中的 'foundation' 之前要求 'foundation/foundation':

//= require 'jquery'
//= require 'foundation/foundation' 
//= require 'foundation'

foundation-rails 存在一个已知问题,无法正确安装到 rails 可安装引擎中。我目前正在提交拉取请求,一旦出现解决方案,我将更新此答案。