У меня есть ruby-скрипт как часть приложения rails, которое используется для копирования файлов из какой-либо директории в другую внутри сервера. Я использую Dojo как front-end. У меня есть виджет dojo, который показывает кнопку в порядке. Теперь я хочу, чтобы скрипт выполнялся, когда я нажимаю кнопку Dojo.Сценарий выполнения Rails на сервере на кнопке Dojo Нажмите
Wigdet экстракт:
<input type="button" data-dojo-type="dijit.form.Button" dojoAttachEvent="_onClick:copyfiles" label="Copy Files"></input>
JavaScript часть функции виджета:
copyfiles: function() {
window.location = '/files/copy_files'
}
в маршрутах у меня есть:
resources :files do
get :copy_files
и в files_controller у меня есть:
def copy_files
fc = FilesCopier.new
source = '/home/myname/sourcefiles'
dest = '/home/myname/backup'
fc.copy_files(source,dest)
end
Но когда я нажимал кнопку, ничего не происходит. Я также пытался запустить код внутри представления, но ничего не происходит.
Должны ли появляться какие-либо ошибки JS в вашей консоли разработчика? Что делает ваш журнал Rails для вас, является ли маршрут ударом? – Novae
У меня нет ошибок. Путь фактически загружен http/1.1 OK, поэтому проблем нет. – zulq
Работает ли ваш метод copy_files, если вы вызываете его, например, непосредственно в консоли? – Mattherick