1

ActiveResource と Json を使用して Rails3 アプリから Sinatra API アプリで新しい「人」を作成しようとしています。Rails3 で「Person」モデルを作成し、ActiveResource を使用して API を正しく呼び出し、URL を正しく読み取りますが、オブジェクトと共にパラメーターが渡されないようです。

Rails3 Person モデルから:

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'})

誰かが私が見逃したもの、または間違っていることについて何らかの方向性を教えてください。ありがとうございます。

4

1 に答える 1