net-sftp ruby, ошибка загрузки файла

У меня есть приложение rails 3.2.2, на котором установлен гем net-sftp.

Я создал простой контроллер для тестирования самой базовой функции загрузки файла на удаленный sftp.

Это мой контроллер:

class UploadsController < ApplicationController
  require 'net/sftp'

  def upload
    Net::SFTP.start('host', 'root', :password => 'password') do |sftp|
      @sftp = sftp # I've got a session object so that seems to work

      # upload a file or directory to the remote host
      sftp.upload!("/Users/kensodev/Desktop/ashrit.xml", "/domains/inbar-paz.com/html/test/ashrit.xml")
    end
  end
end

Когда я посещаю путь «localhost: 3000/uploads/upload», я получаю эту ошибку:

Net::SFTP::StatusException open /domains/inbar-paz.com/html/test/ashrit.xml (2, "no such file")

Может быть, я ошибся путями?

Спасибо за попытку помочь :) Паз.


person Paz Aricha    schedule 21.06.2012    source источник
comment
Вы сначала протестировали этот код из консоли? Это похоже на простую ошибку пути, как вы подозреваете.   -  person Casper    schedule 21.06.2012
comment
Я не знаю, как проверить это с консоли... Я вставил тот же код, но получил ту же ошибку.   -  person Paz Aricha    schedule 21.06.2012
comment
Вам нужно вручную войти на сервер sftp, чтобы проверить путь. Вы должны запустить sftp из командной строки, войти на сервер и посмотреть, какой правильный путь. Пример sftp user@host. Обратите внимание, что это не из консоли, а из командной строки (Linux).   -  person Casper    schedule 21.06.2012
comment
Спасибо, Каспер, ты был прав, это был неправильный удаленный путь. Спасибо.   -  person Paz Aricha    schedule 21.06.2012


Ответы (1)


Один из каталогов по этому пути «/domains/inbar-paz.com/html/test/» не существует.

person Roman    schedule 21.06.2012
comment
Роман, спасибо, но это немного не точно, проблема была в том, что я пропустил несколько каталогов перед /domains/, но благодаря Касперу это уже было решено. - person Paz Aricha; 21.06.2012