一度に多数のユーザーを投稿しようとしているRails3アプリケーションがあります。PostmanRESTクライアントを介して投稿しようとしています。一度に1人のユーザーを投稿しようとするとうまくいきますが、一度に複数のユーザーを投稿することはできません。
これは私のユーザーモデルです:
class User < ActiveRecord::Base
attr_accessible :name,age,email,mobile,gender
end
そして私のユーザーコントローラー:
respond_to :html , :json
def create
@user = User.new(params[:user])
if @user.save
render :json => { :status => :ok, :message => "User Created Successfully"}.to_json
end
end
複数のユーザーのJSON形式でデータを投稿するユーザー:
{
user:[
{
"name":"abc",
"age": 23,
"email": "abc@gmail.com",
"mobile": 9876543210,
"gender":"M"
},
{
"name":"def",
"age": 26,
"email": "def@gmail.com",
"mobile": 9876543210,
"gender":"F"
}
]
}
Railsでこれを行うことは可能ですか?
私は試した:
def create
@userlist = User.new(params[:user])
@userlist.each do |u|
u.save
end
render :json => { :status => :ok, :message => "User Created Successfully"}.to_json
end
ただし、データは保存されません。
解決策はありますか?
ユーザーの下に保存されているネストされた属性:
{
"users" :[
{
"name":"abc",
"age": 23,
"email": "abc@gmail.com",
"mobile": 9876543210,
"gender":"M",
"projects":
[
{
"projectname":"abc",
"type":"abc"
},
{
"projectname":"def",
"type":"abc"
},
{
"projectname":"ghi",
"type":"abc"
}
]
},
{
"name":"def",
"age": 26,
"email": "def@gmail.com",
"mobile": 9876543210,
"gender":"F",
"projects":
[
{
"projectname":"abc",
"type":"abc"
},
{
"projectname":"def",
"type":"abc"
},
{
"projectname":"ghi",
"type":"abc"
}
]
}
]
}