2010-09-05 70 views
29

在我的Gemfile Rails中我有以下幾組:Rails 3中的Gemfile中的組?

group :development, :test do 
    gem "capybara" 
    gem "database_cleaner" 
    gem "spork" 
    gem "launchy" 
end 

group :bdd do 
    gem "cucumber-rails" 
    gem "rspec-rails" 
end 

這是什麼意思?

回答

30

http://yehudakatz.com/2010/05/09/the-how-and-why-of-bundler-groups/

指定組允許你做兩件事情。首先,你可以在你的Gemfile中加上 寶石,減去特定的組。例如,Rails 將mysql和pg放入數據庫組中,這樣如果您只是在ActionPack上工作 ,則可以將install --without db捆綁在一起,然後運行 ActionPack測試,而無需擔心安裝gedit 。其次,您可以使用 Bundler.require列出要自動請求的特定組。默認情況下,Bundler.require需要 中的所有寶石爲默認組(這是所有沒有顯式組的寶石)。 你也可以說Bundler.require(:default,:another_group)要求 特定的組。