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
Post a Comment