rails не будет выполнять Perl-скрипт в той же папке, что и контроллер - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть простой метод

  def execperl
  system("perl myscript.pl")
  redirect_to :controller => :mycontroller, :action => :index
  end

Где я помещаю этот mycontroller (который содержит index и execperl) в ту же папку, что и myscript.pl.

Однако, когда я выполняюметод, он просто возвращается к индексу, и когда я вижу консоль, нет никаких признаков того, что myscript.pl выполняется.Если я выполняю myscript.pl вручную, используя perl myscript.pl, он прекрасно работает

Как я могу выполнить myscript.pl в том же месте, что и файл mycontroller?

Спасибо за любой ответ.

| edit Я прочитал, что в журнале написано "не могу открыть скрипт perl myscript.pl" Нет такого файла или каталога.

Нужно ли указывать расположениескрипт в системе ("perl myscript.pl")?Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Попробуйте сделать:

system("/usr/bin/perl #{Rails.root}/app/controllers/myscript.pl")
0 голосов
/ 16 февраля 2011

Ваш текущий рабочий каталог не является каталогом, в котором находится ваш скрипт. Путь к вашему скрипту примерно такой:

File.join(File.dirname(__FILE__), "myscript.pl")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...