首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sinatra应用程序中的"Rake无法加载这样的文件“错误

Sinatra应用程序中的"Rake无法加载这样的文件“错误
EN

Stack Overflow用户
提问于 2021-09-07 20:02:16
回答 1查看 231关注 0票数 0

我正在构建一个Sinatra应用程序,并尝试使用ActiveRecord。每当我运行任何Rake任务时,rake都不会识别我的控制器文件并返回rake aborted! LoadError: cannot load such file。这是我的宝石:

代码语言:javascript
复制
source "https://rubygems.org"
ruby "2.7.2"

gem 'sinatra'
gem 'thin'
gem 'shotgun'
gem 'require_all'
gem 'activerecord'
gem 'sinatra-activerecord'
gem 'sqlite3'
gem 'rake', '~> 13.0.6'

这是Rakefile:

代码语言:javascript
复制
# Rakefile
require 'sinatra/activerecord/rake'
require_relative './app/test_controller.rb'

有什么想法吗?在Rakefile中,我尝试了require_relative的./app、/app、../app等等。而且,我有点时间紧迫,所以如果我不能迅速解决这个问题,我需要Rake使用ActiveRecord吗?

EN

回答 1

Stack Overflow用户

发布于 2021-09-07 20:50:01

TL/DR:

从Rakefile中删除require_relative './app/test_controller.rb'

详细信息:

Rake是一个允许我们从命令行定义和运行命令的工具(例如rake db:migrate)。Activerecord附带了一些rake任务(比如生成迁移文件、运行迁移文件、转储/加载数据库模式等),这些任务使得处理起来更加容易。

Rake任务只是ruby,因此要成功地运行Rake任务,它需要加载它所依赖的任何类/文件(通常由每个rake任务独立处理)。如果要编写自己的rake任务,则需要确保这些任务需要相关的文件。将应用程序(或sinatra控制器)加载到基础Rakefile通常不会被建议,因为它并不总是需要的。

如果您需要加载某种“boot”或“config”文件以设置数据库连接/配置,以便activerecord rake任务能够成功地连接到数据库,则是例外。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69093959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档