使用axlsx gem隐藏工作表

时间:2014-05-05 13:18:54

标签: ruby-on-rails ruby axlsx

我正在使用axlsx 2.0.1 gem来生成电子表格。我遇到了必须隐藏一些工作表的情况。在示例中,您可以使用以下方式隐藏工作表:

 wb.add_worksheet name: 'hidden', state: :hidden do |sheet|
    sheet.add_row ['you cant see me!']
  end

但这不符合它。 之后,我将

包括在内
gem 'axlsx', git: "git@github.com:randym/axlsx.git"

然后它奏效了。那我该怎么办呢?我应该继续使用git url还是别的什么?

1 个答案:

答案 0 :(得分:0)

问题是这个gem的作者自去年9月以来没有在RubyGems中发布过更新版本。您可以访问gem's entry in RubyGems查看。如您所见,最新版本(2.0.1)发生在13/9/2013。

由于您感兴趣的功能之后在gem的主分支上添加,因此在Gemfile中使用git URL可以正常工作。然而,这远非生产系统的理想选择!如果你(无意中)更新了这个gem,那么gem的主分支中的任何变化(并不总是稳定或经过充分测试)都可能最终出现在你的项目中。

您可以在github上分叉项目并使用Gemfile中的分叉URL来确保一夜之间不会发生任何更改。或者你可以搜索一个git标签,代表你想要它的状态下的项目(即在实现隐藏表单功能之后)。如果需要,您甚至可以在Gemfile中设置特定的提交哈希!

一旦作者发布了他的宝石的新稳定版本,并且在确保它适合您(例如没有回归)之后,您可以将您的Gemfile更改为更简单的gem 'axlsl'

如果您想了解如何在Gemfile中指定某个分支,提交或标记,请查看:How to get a specific "commit" of a gem from github?