ruby on Rails - 无法加载应用程序:LoadError:无法加载此类文件--database_cleaner/active_record

问题描述 投票:0回答:2

我正在尝试在渲染平台上部署 Ruby on Rails 项目。我在学校继承了这个项目并在那里添加了新功能。当我在生产模式下运行 Rails 应用程序时,出现以下错误,但当我在开发模式下运行应用程序时,它工作正常。 “无法加载应用程序:LoadError:无法加载此类文件——database_cleaner/active_record”。

我尝试遵循文档中的所有步骤https://render.com/docs/deploy-rails,重新安装更清洁的gem,检查兼容性,没有任何帮助

ruby-on-rails rubygems dev-to-production database-cleaner onrender
2个回答
0
投票

谢谢你。实际上这对我有用: 1. 在 Gemfile 中,将 database_cleaner-active_record 移出 :development 块,因此它始终会安装 2. 将 cypress_rails 初始化器中的 require 移至 return 语句之后 –


-1
投票

您可以采取以下几个步骤来排查和解决问题:

  • Gemfile:确保 database_cleaner gem 包含在您的 Gemfile 中,并且它不限于某些环境。 它应该在所有环境中都可用。
group :development, :test do
  gem 'database_cleaner'
  # Other gems...
end
  • Bundle Install:运行bundle install以确保所有gem, 包括database_cleaner,已正确安装。
bundle install
  • 环境配置:检查您的 config/environments/production.rb 文件或相关环境 配置文件。确保 database_cleaner gem 不是 在生产环境中明确禁用或排除。

  • 数据库清理器配置:如果您使用 database_cleaner 仅用于测试目的,请确保您的配置正确 spec_helper.rbrails_helper.rb 文件,并且不会导致问题 生产环境。

    rails_helper.rb中的示例配置:

# rails_helper.rb

RSpec.configure do |config|
  # Other configurations...

  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
  end

  config.before(:each) do
    DatabaseCleaner.start
  end

  config.after(:each) do
    DatabaseCleaner.clean
  end
end

注意:确保您使用的database_cleaner版本与您的Rails版本兼容。

© www.soinside.com 2019 - 2024. All rights reserved.