Rails在Dojo按钮上执行服务器上的脚本单击

时间:2013-05-09 11:55:19

标签: ruby-on-rails ruby dojo jrubyonrails

我将ruby脚本作为rails应用程序的一部分,用于将文件从某个目录复制到服务器内的另一个目录。我使用Dojo作为前端。我有一个dojo小部件,显示一个按钮很好。现在我想在单击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

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

1 个答案:

答案 0 :(得分:0)

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

put :copy_files, :on => :collection

现在,即使我把它放在控制器内的show方法上也行。