【问题标题】:What is the proper usage of Bundler groups in Rails 3 applicationsRails 3 应用程序中 Bundler 组的正确用法是什么
【发布时间】:2011-01-18 23:39:54
【问题描述】:

我发现在 Rails 中如何使用 Bundler 组的描述与我在 Bundler 组示例中看到的内容之间存在脱节。

据说,Rails 通常会从默认组以及与环境同名的组中加载 gem。然而,我经常看到一些例子,这些例子似乎只是将事物放在任意命名的组中,并且不知何故,它们只是起作用。那么真实的故事是什么,或者我错过了什么?

例如,这个例子 (http://www.jonathanspies.com/posts/7-Rails-3-and-Shoulda) 说要在 :shoulda 组中列出 'should' gem,并说这行得通。然而,需要这个的环境将是“测试”,也许是“开发”。是什么导致“应该”组中的 gem 被加载?

http://comments.gmane.org/gmane.comp.programming.tools.cucumber/2691 等其他示例中,我看到 cucumber-rails 和相关的 gem 被放置在 :test 组中,但是 Cucumber 任务在“cucumber”环境中运行,所以同样,当 gem 被加载时如何加载需要吗?

【问题讨论】:

    标签: ruby-on-rails bundler


    【解决方案1】:

    你会在http://www.jonathanspies.com/posts/7-Rails-3-and-Shoulda看到他们也在说:

    In test/test_helper.rb add:
    Bundler.require(:shoulda)
    

    这需要 shoulda 组。

    【讨论】:

    • 谢谢。这让我抓狂:)
    【解决方案2】:

    在我的 capistrano 配方中,Bundler 使用 --without development test 运行,以防止安装这些组,我猜这是默认行为。

    【讨论】:

    • 这与我的理解相符,即除非明确排除所有组,否则在安装过程中会包含所有组,但加载时必须明确要求每个组。
    猜你喜欢
    • 1970-01-01
    • 2015-07-30
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2010-11-10
    相关资源
    最近更新 更多