0

我在目录中有一个脚本,lib我需要获取一些数据。

require 'active_record'

Article.each do ...

当我尝试这个时,我收到了这个错误信息:

file.rb:3:in `<main>': uninitialized constant Article (NameError)

如何从 Rails 数据库加载数据并在原始 ruby​​ 脚本中显示它们?

4

4 回答 4

1

在您的脚本中,您应该添加适配器,如下所示:

require 'active_record'
require 'sqlite3'

ActiveRecord::Base.establish_connection(
   :adapter => 'sqlite3',
   :database => 'db/yourDb.db'
)

和模型,像这样:

require_relative 'path to your model(s) file(s)'
于 2013-05-30T12:53:16.780 回答
1

您可以使用rails runner lib/your_script.rbRails 应用程序根目录中的 command 来执行您的脚本。它将在加载 Rails 环境后执行脚本,因此在脚本中您可以完全访问您的模型。

于 2013-05-30T13:26:54.263 回答
0

有关方法“建立连接”,请参见 rails 文档

http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-establish_connection

于 2013-05-30T12:52:59.150 回答
-1

这将帮助您将数据库与活动记录连接起来: http ://www.runtime-era.com/2012/11/dynamic-activerecord-database.html

于 2013-05-30T12:55:38.727 回答