Как использовать Rails'Active Record в отдельном script.rb? - PullRequest
2 голосов
/ 14 декабря 2011

Мне нужно запустить этот скрипт: /scripts/saveData.rb

И в нем мне нужно использовать ActiveRecord моего приложения на Rails.Я пытался вызвать Class, но я получаю ошибку "uninitialized constant (NameError)".

Как я могу получить ссылку на классы Rails из моего saveData.rb скрипта?

Rails 3.1

ОБНОВЛЕНО: как я могу вызвать метод модели?Моя модель: «Программа» (также Active Record).Я пытался с "Program.method", но он не работает, почему?

Ответы [ 3 ]

8 голосов
/ 14 декабря 2011

Какую версию рельсов вы используете?

Вы можете запустить свой код в Rails runner следующим образом, если вы используете Rails 3:

http://guides.rubyonrails.org/command_line.html#rails-runner

$ rails runner script/saveData.rb

Если вы используете Rails 2, попробуйте это:

$ script/runner script/saveData.rb
1 голос
/ 14 декабря 2011

Вы можете попробовать require среду Rails с этим в верхней части вашего скрипта:

require File.expand_path(File.join(File.dirname(__FILE__), 'config', 'environment'))

Однако, вам действительно стоит подумать об использовании рейка вместо этого.

1 голос
/ 14 декабря 2011

Используйте rails runner .

За исключением этого, вы можете создать задачу rake или просто загрузить файл из консоли rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...