2013-05-09 66 views
0

我已经Ruby脚本作为用于从一些目录中的文件复制到另一个服务器内部的Rails应用程序的一部分。我使用Dojo作为前端。我有一个显示按钮的罚单的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 

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

+0

在开发控制台中是否会弹出任何JS错误?你的Rails日志是如何打电话给你的呢? – Novae 2013-05-09 16:28:25

+0

我没有收到任何错误。路径实际上是加载http/1.1确定所以在那里没有问题。 – zulq 2013-05-09 17:17:53

+0

如果您直接在控制台中调用它,您的copy_files方法是否有效? – Mattherick 2013-05-10 10:24:53

回答

0

我解决了它。 所有我需要做的是改变路线文件按如下:

put :copy_files, :on => :collection 

而现在,即使我把它放在表演方法控制它会在里面工作。