Domanda

I've ruby script as part of rails application which is used to copy files from some directory to another inside the server. I am using Dojo as front-end. I've a dojo widget which is displaying a button fine. Now I want to the script to be executed when I click the Dojo button.

Wigdet extract:

<input type="button" data-dojo-type="dijit.form.Button" dojoAttachEvent="_onClick:copyfiles" label="Copy Files"></input>

JavaScript function part of widget:

copyfiles: function() {
window.location = '/files/copy_files'
}

in routes I have:

resources :files do
get :copy_files

and in files_controller I have:

def copy_files
  fc = FilesCopier.new
  source = '/home/myname/sourcefiles'
  dest = '/home/myname/backup'
  fc.copy_files(source,dest)
end

But when I clicked the button nothing happens. I've also tried running the code inside a view but nothing happens.

È stato utile?

Soluzione

I've resolved it. All I have to do was to change the routes file as per below:

put :copy_files, :on => :collection

And now even if I put it on show method inside the controller it will work.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top