Ruby on rails 没有activerecord的Rails 5项目导致模型生成错误

Ruby on rails 没有activerecord的Rails 5项目导致模型生成错误,ruby-on-rails,ruby,activerecord,ruby-on-rails-5.2,Ruby On Rails,Ruby,Activerecord,Ruby On Rails 5.2,在一个使用Rails5.2而没有ActiveRecord的项目中,我遇到了一个问题 我已经运行了命令<;代码>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;& .rvm/gems/ruby-2.5.1/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:404

在一个使用Rails5.2而没有ActiveRecord的项目中,我遇到了一个问题

我已经运行了命令<;代码>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;>;&

.rvm/gems/ruby-2.5.1/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:404:in `replace_gem中的块(2级):加载激活的“sqlite3”时出错 记录适配器。错过了它所依赖的宝石?sqlite3不是的一部分 包裹。将其添加到您的文件中。(Gem::LoadError)

我不明白,如果我禁用了sqlite 3,在互联网上搜索,却找不到任何人在谈论它,为什么它会询问active record中的sqlite 3

怎么了


谢谢

我想你没有ORM。如果是这种情况,那么运行rails generate model的
不应该做任何事情,默认情况下它甚至不应该安装sqlite。尝试更新您的sqlite gem

我假设您没有ORM。如果是这种情况,那么运行rails generate model的
不应该做任何事情,默认情况下它甚至不应该安装sqlite。尝试更新您的sqlite gem

$bin/rails generate model…
命令实际上创建了一个迁移和一个ActiveRecord模型,这就是为什么会出现与数据库相关的错误。请参阅。

使用
$bin/rails generate model…
命令实际上会创建迁移和ActiveRecord模型,这就是为什么会出现与数据库相关的错误。请参阅。

如果不想使用
ActiveRecord
,则无需使用
rails g
生成模型。
您只需转到应用程序中的
app/models
目录,创建一个普通ruby类作为模型使用。

如果您不想使用
ActiveRecord
,则无需使用
rails g
生成模型。 您只需转到应用程序中的
app/models
目录,创建一个普通ruby类,将其作为模型使用。

命令

rails g model MODEL
将生成模型、移植和装置。这与ORM有关。所以rails将研究数据库配置。在这里,您可能会提到ORM客户机

adapter: sqlite3
为此,您需要安装sqlite3 gem。加

gem 'sqlite3'
到您的Gemfile

如果只想添加模型,请在
app/models
文件夹中创建文件。但是这样做有什么意义呢?Rails将根据模型的类名查找表名,并在命令中抛出一个错误

rails g model MODEL
将生成模型、移植和装置。这与ORM有关。所以rails将研究数据库配置。在这里,您可能会提到ORM客户机

adapter: sqlite3
为此,您需要安装sqlite3 gem。加

gem 'sqlite3'
到您的Gemfile


如果只想添加模型,请在
app/models
文件夹中创建文件。但是这样做有什么意义呢?Rails将根据模型的类名查找表名,并抛出一个错误

,因此,如果我想使用RestClient gem连接外部API,我需要手动创建模型,对吗?因为默认情况下创建Rails模型需要依赖于数据库吗?我没有单独使用
RestClient
gem,但是您可以自己创建模型。毕竟这只是一门课。如果它继承了
AR::Base
,那么它也将具有与DB table一起工作的功能?因为默认情况下创建Rails模型需要依赖于数据库吗?我没有单独使用
RestClient
gem,但是您可以自己创建模型。毕竟这只是一门课。如果它继承了
AR::Base
,那么它也会有一个处理DB表的功能。我使用外部rest JSon API来处理数据,所以我需要手动创建模型,对吗?我使用外部rest JSon API来处理数据,所以我需要手动创建模型,对吗?