小编Isa*_*esh的帖子

gemspec中包含的依赖关系未添加到rails引擎中的资产管道中

我正在编写一个具有一些依赖关系的rails引擎.我已经在gemspec中指定了依赖项,并且引擎在运行时找到它们bundle install(即Gemfile.lock看起来正确).当我想在Ruby文件中使用插件时,我可以这样做,但需要显式require dependency-name位于文件的顶部.

但是,当我想使用依赖项的资产管道时,sprockets无法找到它.

我正在使用的应用程序(现在)是一个虚拟应用程序,它位于rails插件的测试文件夹中.如果我在引擎的Gemfile(实际上是虚拟应用程序的Gemfile)中指定它们,Sprockets可以找到资产,但如果我在gemspec中指定它们则不会.我不想依赖Gemfile,因为这意味着任何使用我的插件的应用都需要手动将我的所有依赖项添加到他们的Gemfile中.出于同样的原因,我不想要一个涉及更新应用程序配置文件的解决方案.

当从gemspec中包含依赖项时,这适用于(在ruby文件中):

require 'dependency-name'
Run Code Online (Sandbox Code Playgroud)

但是当从gemspec中包含依赖项时,这(在JS文件中)不起作用:

//= require 'dependency-name'
Run Code Online (Sandbox Code Playgroud)

require从Gemfile中包含依赖项时,都不需要.我认为这很清楚,但如果您需要更多细节,请告诉我.

rubygems ruby-on-rails-plugins ruby-on-rails-3.1 asset-pipeline

20
推荐指数
2
解决办法
2962
查看次数

在 github-pages 上的博客文章中添加评论

我使用Jekyll Theme制作了一个基于 Github 页面的网站。目前,我也可以在该网站上发布博客。但是,我想在博客文章的末尾添加一个评论部分。

有关于如何使用Disqus添加评论部分的教程。但我认为使用 Disqus 需要付费订阅。所以我正在寻找 Disqus 的替代品来添加评论部分。

分享任何关于它的想法将不胜感激。

github vs-web-site-project disqus jekyll jekyll-theme

15
推荐指数
2
解决办法
6169
查看次数

如何列出作为提交祖先的所有分支?

我希望看到所有分支都是提交的祖先abcdef1234.

这与以下情况相反:

git branch --contains abcdef1234
Run Code Online (Sandbox Code Playgroud)

上面的命令将列出作为其后代的所有分支abcdef1234.我希望看到所有分支的列表,这些分支是祖先的祖先abcdef1234.

我也对标签的等价物感兴趣.

UPDATE

为了更清楚,我的意思是我想查看满足2个条件的所有提交的列表:

  1. 他们是祖先 abcdef1234
  2. 它们目前由(本地或远程)分支机构指向.

显然,大多数提交在某些时候有一个分支指向它们是全新的.我只对它们在这个特定时刻是否属于分支机构感兴趣.

git

5
推荐指数
1
解决办法
890
查看次数

Sass @import指令在Rails引擎中使用时无法在插件中找到资产

我正在构建一个使用zurb-foundation的样式表的Rails引擎,并且kep遇到了相同的Sass :: Syntax错误.这看起来很奇怪,因为我在Rails应用程序中遵循了相同的过程,并且在第一次尝试时就已经完成了.所以我决定通过启动两个新的rails项目 - 一个应用程序和一个引擎 - 来实现这一目标,并将它们配置为使用基础并进行最少量的设置.

我开始使用2个干净的Rails 3.2.9项目 - 一个应用程序和一个应用程序,engine --full并通过添加foundation_and_overrides.scss并require在CSS清单中将它们配置为基础.

然后我创建一个简单的控制器,所以我有一个页面加载.对于应用程序,加载该页面并查看页面源代码,我可以看到基础CSS已正确编译并加载.

当我为引擎尝试相同的东西时,我收到了这个错误:

Sass::SyntaxError in Main#index

Showing /<PLUGIN_PATH>/test/dummy/app/views/layouts/application.html.erb where line #5 raised:

File to import not found or unreadable: foundation/common/ratios.
Load path: /<PLUGIN_PATH>/test/dummy
  (in /<PLUGIN_PATH>/app/assets/stylesheets/example_plugin/foundation_and_overrides.scss)
Run Code Online (Sandbox Code Playgroud)

(请注意,虚拟应用程序的CSS清单是require-ing插件的CSS清单,它是require-ing foundation_and_overrides.scss.布线显然不是问题,因为错误是从foundation_and_overrides.scss引发的)

我用几个Ruby-1.9.3版本(p125,194,p327,我认为)尝试了相同的结果.

当我将此行添加到test/dummy/config/application.rb时,它仍然无效:

config.assets.paths << "#{Foundation::Engine.root}/scss"
Run Code Online (Sandbox Code Playgroud)

即使在该路径上存在foundation/common/_ratios.scss.

问题可能出在Sass,Sprockets,Compass,Foundation或Rails上,所以我不知道从哪里开始.

我把它作为基金会的问题报告,但我不是那么相信.

谁看过这个吗?

sass sprockets ruby-on-rails-3.2 zurb-foundation compass-sass

3
推荐指数
1
解决办法
4007
查看次数