2012-06-21 4 views
0

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

Я создал простой контроллер, чтобы протестировать самую основную функцию загрузки файла на удаленный 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 

Когда я посещаю "локальный: 3000/загрузки/загрузки" путь я получаю эту ошибку:

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

Может быть, я получил пути не так?

Спасибо, что постарались помочь :) Paz.

+0

Вы сначала протестировали этот код с консоли? Это похоже на простую ошибку пути, как вы подозреваете. – Casper

+0

Я не уверен, как проверить это с консоли ... Я вставил один и тот же код, но получил ту же ошибку. –

+1

Чтобы проверить путь, вам необходимо вручную войти в sftp-сервер. Вы должны запустить 'sftp' из командной строки, зайти на сервер и посмотреть, каков правильный путь. Пример 'sftp user @ host'. Обратите внимание, что это не консоль, а командная строка (Linux). – Casper

ответ

2

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

+0

Спасибо, roman, но это немного неточно, проблема в том, что мне не хватало каких-то каталогов перед «/ domains /», но благодаря Касперу это уже было решено. –