рабочий стол ruby ​​file запускает скрипт, который соединяется с приложением rails - PullRequest
0 голосов
/ 13 января 2011

Я использую irb и console для написания множества скриптов и перешел на написание отдельных файлов .rb в textmate, а затем команду + r для его запуска.Это действительно круто, потому что я могу хранить весь свой код в одном месте и просто нажать команду + r.

Так что теперь я хочу получить данные из приложения rails, которое, конечно, имеет базу данных sqlite3.Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Rails включает в себя консоль, которая, помимо прочего, представляет собой сеанс IRB, предварительно подключенный для загрузки моделей и подключения к БД. Это облегчает выполнение произвольных операций «что, если» без необходимости вручную требовать необходимые модули Rails и выполнять подключение к БД.

Кроме того, в Rails есть "скрипт-бегун", который, как ни странно, называется rails runner. Он позволяет вам запускать код в контексте вашего приложения Rails без необходимости добавлять подпрограммы внутри контроллера или модели. Он отлично подходит для служебных скриптов, которые не должны быть частью основного стека приложений, но все же должны иметь доступ к моделям и базе данных. См. rails runner -h в каталоге приложений вашего Rails.

У SO некоторые другие вопросы о бегуне, которые могут помочь.

1 голос
/ 13 января 2011

Я думаю, что самый простой способ получить доступ к базе данных за пределами Rails - это использовать гем sqlite3-ruby. Найти документацию здесь .

Вот пример кода, скопированного по ссылке выше на 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...