2011-01-13 16 views
0

irbとconsoleを使ってたくさんのスクリプトを書いて、textmateに1つの.rbファイルを書き込んだ後、command + rを実行するように切り替えました。これは本当にクールです。私のコードをすべて1つの場所に保存して、コマンド+ rを押すだけです。デスクトップのrubyファイルrailsアプリケーションと接続するスクリプトを実行

これで、もちろん、sqlite3データベースを備えたレールアプリからデータを取得します。これどうやってするの?

答えて

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 
+0

クールに見えます。 – s84

3

Railsの他のものの間で、モデルをロードして、あなたのDB接続を行うために事前に配線さIRBセッションでコンソールが含まれます。必要なRailsモジュールを手動で必要とせずに、DB接続を実行することなく、簡単にwhat-ifを行うことができます。

また、Railsには驚くほど十分に「スクリプトランナー」と呼ばれるrails runnerがあります。これにより、コントローラやモデル内にルーチンを追加することなく、Railsアプリケーションのコンテキスト内でコードを実行することができます。メインアプリスタックの一部ではなく、モデルやデータベースにアクセスする必要のあるユーティリティスクリプトにとっては素晴らしいことです。 Railsのアプリディレクトリのrails runner -hを参照してください。

SOには助けになるランナーについてsome other questionsがあります。

+0

はレールランナーのように見えますが、cronやスケジュールされた作業に似ています。 – s84

+0

必ずしもcronジョブではないが、それはとてもうまく動作する。 cronがタスクを実行できるのであれば、コマンドラインからも同じことができます.cronは基本的に入力する内容を一定の間隔で実行しているためです。 –

関連する問題