【发布时间】:2021-11-04 16:33:19
【问题描述】:
我正在构建一个 Sinatra 应用程序并尝试使用 ActiveRecord。每当我运行任何 rake 任务时,Rake 都无法识别我的控制器文件并返回 rake aborted! LoadError: cannot load such file。这是我的宝石:
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:
# Rakefile
require 'sinatra/activerecord/rake'
require_relative './app/test_controller.rb'
有什么想法吗?在 Rakefile 中,我尝试了 require_relative 用于 ./app、/app、../app 等。此外,我有点时间紧张,所以如果我不能快速解决这个问题我需要 Rake 来使用 ActiveRecord?
【问题讨论】:
-
你不需要 需要 rake 来使用 activerecord,但它确实使运行迁移(和其他事情)更容易。为什么需要加载控制器?你可以删除那条线(如果那是它失败的地方)
-
哇哦,成功了,谢谢!如果你有时间,你介意解释一下为什么我不需要加载它吗?这是我第一次使用 Sinatra,我正在阅读的所有教程都说您需要
require ./app(或一些变体)。 -
回复有点长,我把它作为答案
标签: ruby rubygems sinatra rake sinatra-activerecord