我想通过JSON一次将多个条目POST到我的Rails API后端。怎么样?

时间:2014-05-05 21:00:15

标签: ruby-on-rails json rest post

如何一次发布多个条目。例如

def create
    @visit = Visit.new(user_params)
    if @visit.save
        respond_with(@visit)
    else

    end
end

private

    def user_params
        params.require(:visit).permit(:room_id, :date)
    end

如果这是你的控制器,你发送以下POST ...

Content-Type = application/json

{
    "visit": 
        {
            "room_id": "7",
            "date": "2014-05-06"
        }
}

这将创建1个条目。你怎么能一次创造说3个条目?你如何编写3个访问条目的JSON数组,以及如何在控制器中正确地允许它们?

1 个答案:

答案 0 :(得分:1)

你可以通过循环接收你收到的JSON哈希来做到这一点,保存每条记录:

def create
    for visit in params[:visit] do
        new_visit = Visit.new(user_params)
        new_visit.save
    end
    redirect_to visits_path
end

private

def user_params
   params.require(:visit).permit(:room_id, :date) # => we'll need to fix this
end

最重要的是,只是因为您意味着以特定方式发送数据,并不意味着您无法以其他方式执行此操作。你可以遍历传递的参数,允许你在传递的每个save参数上调用[:visit]方法