Я пытаюсь создать нового «Человека» в приложении Sinatra API из приложения Rails3, используя ActiveResource и Json. В Rails3 я создал модель "Person" и, используя ActiveResource, правильно вызываю API, который правильно считывает URL-адрес, но никакие параметры, похоже, не передаются с объектом.
Из модели человека Rails3:
class Person < ActiveResource::Base
self.site = "http://127.0.0.1:9393/"
self.collection_name = "person/add"
self.format = :json
end
Из консоли Rails3:
u=Person.new({"last_name"=>"Bill", "first_name"=>"Smith"})
=> #<Person:0xb73176f0 @attributes={"last_name"=>"Bill", "first_name"=>"Smith"}, @prefix_options={}>
puts u.attributes
=> last_nameBillfirst_nameSmith
u.save
=> True
Из приложения Синатра:
puts @app.params.keys
=> Nil
puts @app.params['last_name']
=> Nil
puts @app.params[:last_name]
=> Nil
С помощью консоли IRB это работает:
Net::HTTP.post_form(URI.parse('http://127.0.0.1:9393/user/add.json'),{'first_name' => 'Smith', 'last_name' => 'Bill'})
Может кто-нибудь, пожалуйста, подскажите, что я пропустил или делаю неправильно, спасибо.