2013-05-09 141 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 

而現在,即使我把它放在表演方法控制它會在裏面工作。

相關問題