0

我将 ruby​​ 脚本作为 rails 应用程序的一部分,用于将文件从某个目录复制到服务器内的另一个目录。我使用 Dojo 作为前端。我有一个显示按钮的 dojo 小部件。现在我想在单击 Dojo 按钮时执行脚本。

小部件提取物:

<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

但是当我点击按钮时,什么也没有发生。我也尝试在视图中运行代码,但没有任何反应。

4

1 回答 1

0

我已经解决了。我所要做的就是按以下方式更改路由文件:

put :copy_files, :on => :collection

现在,即使我将它放在控制器内的 show 方法上,它也可以工作。

于 2013-05-10T15:24:52.437 回答