ruby on rails 4 - Skydrive rename folder -


i using skydrive gem in rails application.

for renaming folder had written

def renaming_folder   client = skydrive::client.new(@@access_token)   folder_id = params[:folder_id]   # (url, {:body => options})   # options = {name: "#{params[:rename_field]}"}   puts "-------------------..."   puts "#{params[:folder_id]}"   client.get_skydrive_object_by_id(folder_id)    # believe issue comes line:   folderobject = client.update_skydrive_object("#{params[:folder_id]}", options={name: "#{params[:rename_field]}"})    redirect_to drive_show_path end 

but getting http_error_400: bad request error. getting

{"utf8"=>"✓",  "authenticity_token"=>"baygfcb5/74c7rv5nh1u4dcat1mqlvlckp9f3q/fav+b2wdab4ae5lbjavr90mmu0gbffwhtulyncfrwtgyyta==",  "rename_field"=>"weqweqwe",  "folder_id"=>"folder.cecb8eb83d90dbeb.cecb8eb83d90dbeb!106",  "commit"=>"rename folder"} 

in parameters.

can please help? looking answer drawing credible and/or official sources.

i able values when add puts.

the http 400 error means server not understand http request: http://pcsupport.about.com/od/findbyerrormessage/a/400error.htm.

"#{params[:folder_id]}" , "#{params[:rename_field]}" unnecessary ways params[:folder_id] , params[:rename_field], strings.

do client.get_skydrive_object_by_id(folder_id).update(options={name: params[:rename_field].

your solution should be:

skydrive_folder = client.get_skydrive_object_by_id(folder_id) skydrive_folder.update(options = {name: params[:rename_field]})

for reference: http://www.rubydoc.info/gems/skydrive/1.2.0/skydrive/operations#update_skydrive_object-instance_method http://www.rubydoc.info/gems/skydrive/skydrive/folder#update-instance_method

source code:

line 119: https://github.com/ronyv89/skydrive/blob/master/lib/skydrive/operations.rb

line 44: https://github.com/ronyv89/skydrive/blob/master/lib/skydrive/client.rb


Comments