桌面ruby文件运行与rails应用程序连接的脚本

时间:2011-01-13 01:28:25

标签: ruby-on-rails ruby

我使用irb和console来编写大量脚本,并已切换到在textmate中编写单个.rb文件,然后命令+ r运行它。这真的很酷,因为我可以将所有代码保存在一个位置,只需按命令+ r。

所以现在我希望它从rails应用程序获取数据,当然它有一个sqlite3数据库。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

Rails包含一个控制台,它是一个预先连接的IRB会话,用于加载模型并建立数据库连接等。它可以轻松地执行ad-if,而无需手动需要所需的Rails模块并执行数据库连接。

此外,Rails有一个“脚本运行器”,令人惊讶的是,rails runner。它允许您在Rails应用程序的上下文中运行代码,而无需在控制器或模型中添加例程。对于不应该是主应用程序堆栈的一部分的实用程序脚本来说,它非常棒,但仍然需要访问模型和数据库。请参阅Rails'应用目录中的rails runner -h

对于可能有所帮助的跑步者来说,some other questions已经{{3}}。

答案 1 :(得分:1)

我认为从Rails外部访问数据库的最简单方法是使用sqlite3-ruby gem。 Find documentation here

以下是从GitHub上面的链接复制的一些示例代码:

require "sqlite3"

# Open a database
db = SQLite3::Database.new "test.db"

# Find a few rows
db.execute( "select * from numbers" ) do |row|
  p row
end