Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ruby+;西纳特拉+;蒙哥达_Ruby_Mongodb_Post_Sinatra - Fatal编程技术网

使用Ruby+;西纳特拉+;蒙哥达

使用Ruby+;西纳特拉+;蒙哥达,ruby,mongodb,post,sinatra,Ruby,Mongodb,Post,Sinatra,我正在用Sinatra+Ruby+MongoDB创建一个简单的API,通过GET没有问题,但是通过POST yes。。。我试图接收params,但这是空的,我不知道我是否做得不好。我不使用视图html,只使用请求和响应JSON。我使用POSTMAN通过POST传递参数,但什么都没有 代码:app.rb require 'rubygems' require 'sinatra' require 'mongo' require 'json/ext' require './config/Database

我正在用Sinatra+Ruby+MongoDB创建一个简单的API,通过GET没有问题,但是通过POST yes。。。我试图接收params,但这是空的,我不知道我是否做得不好。我不使用视图html,只使用请求和响应JSON。我使用POSTMAN通过POST传递参数,但什么都没有

代码:app.rb

require 'rubygems'
require 'sinatra'
require 'mongo'
require 'json/ext'
require './config/Database'

require_relative 'routes/Estudiantes'
require_relative 'routes/OtherRoute
代码Estudiantes.rb

# Rest Collection Student
collection = settings.mongo_db['estudiantes']

# Finding

get '/estudiantes/?' do
  content_type :json
  collection.find.to_a.to_json
end

# find a document by its ID
get '/estudiante/:id/?' do
  content_type :json
  collection.find_one(:_id => params[:id].to_i).to_json
end

# Inserting

post '/new_estudiante/?' do
  content_type :json
  student = params    # HERE
  puts 'Parameters: ' + student
  new_id = collection.insert student
  document_by_id(new_id)
end

# Updating

post '/update_name/:id/?' do
  content_type :json
  id = BSON::ObjectId.from_string(params[:id].to_s)
  puts 'ID: ' + params[:id].to_s
  name = params[:name].to_s # HERE
  age = params[:age].to_i # HERE
  puts 'Name and Age: ' + name + age.to_s
  collection.update({:_id => id}, {'$set' => {:name => name, :age => age} })
  document_by_id(id)
end

post '/post/?' do
  puts params[:name].to_json # HERE
end

谢谢

解决方案:

您应该应用JSON.parse,然后读取参数

代码


解决方案:

您应该应用JSON.parse,然后读取参数

代码


解决方案:

您应该应用JSON.parse,然后读取参数

代码


解决方案:

您应该应用JSON.parse,然后读取参数

代码


将答案发布为答案,也不是问题的一部分。我对他的帖子进行了同行评议,并将答案添加为答案Post答案,也不是问题的一部分。我对他的帖子进行了同行评议,并将答案添加为答案Post答案,也不是作为问题的一部分。我对他的帖子进行了同行评议,并将答案添加为答案post回答为答案,也不是作为问题的一部分。我对他的帖子进行了同行评议,并将答案添加为答案
post '/post/?' do
  params = JSON.parse request.body.read
  puts params['name']
end