Как сохранить данные в модель в не-Appliactioncontroller, периодически работающем в фоновом режиме - PullRequest
0 голосов
/ 13 ноября 2010

У меня есть режим Post и контроллер happy_robot_controller, который будет периодически сканировать определенные веб-сайты, собирать данные, которые меня интересуют, и затем сохранять в Post модели.

скелет happy_robot_controller.rb:

craw the web site and get the interested data, save to title and content variables 
#save to the Model
Post.new(:title=>title, :content=>content).save

Выполнение ruby happy_robot_controller.rb:

root@pierr-desktop:/work/web/yy/app/controllers# ruby happy_robot_controller.rb 
happy_robot_controller.rb:54: uninitialized constant Post (NameError)

Как мне получить доступ к классу Post?Должен ли happy_robot_controller наследовать ApplicationController, как PostController сделать?

ИЛИ, я должен поставить happy_robot в models/post.rb?

1 Ответ

1 голос
/ 13 ноября 2010

Похоже, что этот код "сканера" ​​должен войти в задачу rake.

Начните с создания файла RAILS_ROOT/lib/tasks/happy_robot.rake и введите следующее:

namespace :happy_robot do
  task :crawl => :environment do
    # crawling code goes here
    Post.new(:title=>title, :content=>content).save
  end
end

Затемзапустите этот код, выполнив rake happy_robot:crawl из командной строки (конечно, внутри директории вашего проекта).

Вот хороший rake учебник: http://jasonseifer.com/2010/04/06/rake-tutorial

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