首页 > 解决方案 > 什么轨道需要宝石?

问题描述

对于我的项目,我Rubocop用来检查代码样式,Rubocop需要的 gem 应该在组内按字母顺序排序。但是当我更改命令时,CI失败了,错误如下:

bundle exec rake assets:precompile rake 中止!NameError: 未初始化的常量 Kaminari::Helpers::Paginator

我必须把kaminari-mongoidand放在kaminari-actionview之后mongoid,然后 CI 会通过:

gem 'mongoid', '~> 5.1.5'
gem 'kaminari-mongoid', '~> 1.0.1'  # rubocop:disable Bundler/OrderedGems
gem 'kaminari-actionview', '~> 1.0.1' # rubocop:disable Bundler/OrderedGems

Rails 如何决定所需的顺序?

标签: ruby-on-railsrubyrubygemsbundle

解决方案


您可以使用空行和/或注释对 gem 进行分组,并且 RuboCop 不会因此而困扰您:

gem 'mongoid', '~> 5.1.5'

# Needs to come after mongoid
gem 'kaminari-mongoid', '~> 1.0.1'

# Needs to come after kaminari-mongoid
gem 'kaminari-actionview', '~> 1.0.1'

推荐阅读