irbとconsoleを使ってたくさんのスクリプトを書いて、textmateに1つの.rbファイルを書き込んだ後、command + rを実行するように切り替えました。これは本当にクールです。私のコードをすべて1つの場所に保存して、コマンド+ rを押すだけです。デスクトップのrubyファイルrailsアプリケーションと接続するスクリプトを実行
これで、もちろん、sqlite3データベースを備えたレールアプリからデータを取得します。これどうやってするの?
irbとconsoleを使ってたくさんのスクリプトを書いて、textmateに1つの.rbファイルを書き込んだ後、command + rを実行するように切り替えました。これは本当にクールです。私のコードをすべて1つの場所に保存して、コマンド+ rを押すだけです。デスクトップのrubyファイルrailsアプリケーションと接続するスクリプトを実行
これで、もちろん、sqlite3データベースを備えたレールアプリからデータを取得します。これどうやってするの?
外部の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
Railsの他のものの間で、モデルをロードして、あなたのDB接続を行うために事前に配線さIRBセッションでコンソールが含まれます。必要なRailsモジュールを手動で必要とせずに、DB接続を実行することなく、簡単にwhat-ifを行うことができます。
また、Railsには驚くほど十分に「スクリプトランナー」と呼ばれるrails runner
があります。これにより、コントローラやモデル内にルーチンを追加することなく、Railsアプリケーションのコンテキスト内でコードを実行することができます。メインアプリスタックの一部ではなく、モデルやデータベースにアクセスする必要のあるユーティリティスクリプトにとっては素晴らしいことです。 Railsのアプリディレクトリのrails runner -h
を参照してください。
SOには助けになるランナーについてsome other questionsがあります。
はレールランナーのように見えますが、cronやスケジュールされた作業に似ています。 – s84
必ずしもcronジョブではないが、それはとてもうまく動作する。 cronがタスクを実行できるのであれば、コマンドラインからも同じことができます.cronは基本的に入力する内容を一定の間隔で実行しているためです。 –
クールに見えます。 – s84