Skydrive Rename Folder

I am using Skydrive gem in my rails application.

To rename the folder I wrote

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) # I believe issue comes from this line: folderObject = client.update_skydrive_object("#{params[:folder_id]}", options={name: "#{params[:rename_field]}"}) redirect_to drive_show_path end 

But I get http_error_400: a bad request error. I get

 {"utf8"=>"βœ“", "authenticity_token"=>"BAYGFcb5/74c7RV5NH1u4DCAT1MqLvLCkp9F3Q/Fav+B2wdab4aE5LBJAVr90MMu0GbfFwHTuLyncFRWtGyYTA==", "rename_field"=>"weqweqwe", "folder_id"=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!106", "commit"=>"Rename Folder"} 

in my settings.

Can anyone help? Look for an answer compiled from reliable and / or official sources.

I can get all the values ​​when adding puts.

+5
source share
1 answer

An HTTP 400 error means that the server could not understand your HTTP request: http://pcsupport.about.com/od/findbyerrormessage/a/400error.htm .

"#{params[:folder_id]}" and "#{params[:rename_field]}" are unnecessary ways to just say params[:folder_id] and params[:rename_field] , which are already strings.

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

Your decision 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:

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

0
source

All Articles