Ruby on rails 如何在Rails后期创建控制器中一次创建多个记录?

Ruby on rails 如何在Rails后期创建控制器中一次创建多个记录?,ruby-on-rails,rest,post,Ruby On Rails,Rest,Post,我目前有一些模型,比如User、UserMovieList和usermovielistem 例如,用户可以创建他们最喜欢的喜剧电影或恐怖电影的列表。在创建了一个新的列表后,比如说“我最喜欢的恐怖电影”,他们可以在列表中添加条目。他们可以加上“13号星期五”和“戒指”,然后保存 现在,我将这两部电影分别在两篇文章中添加到web服务器,以便将它们添加到UserMovieListItem 我想能够添加到1后他们 { "user_movie_list_item": { "title":

我目前有一些模型,比如User、UserMovieList和usermovielistem

例如,用户可以创建他们最喜欢的喜剧电影或恐怖电影的列表。在创建了一个新的列表后,比如说“我最喜欢的恐怖电影”,他们可以在列表中添加条目。他们可以加上“13号星期五”和“戒指”,然后保存

现在,我将这两部电影分别在两篇文章中添加到web服务器,以便将它们添加到UserMovieListItem

我想能够添加到1后他们

{
  "user_movie_list_item":
  {
    "title": "Friday the 13th"
  }     
}
我希望能够发送

{
  "user_movie_list_item":
  {
    "title": "Friday the 13th"
  },
  {
    "title": "The Ring"
  }  
}
1这是JSON发送多个条目的正确格式吗

2如何在控制器中执行此操作

现在我有

def create
    if authenticate_user
        user_movie_list = @current_user.user_movie_lists.find_by_id(params[:user_movie_list_id])
        user_movie_list_item = user_movie_list.user_movie_list_items.new(user_movie_list_item_params)
        if (user_movie_list_item.save!)
            respond_with :api, :v1, @current_user, user_movie_list, user_movie_list_item, location: nil, serializer: Api::V1::UserMovieListItemSerializer
        else
            render json: { error: "Could not create new User Movie List Item."}, status: :unprocessable_entity
        end         
    else
        render json: { error: "User is not signed in." }, status: :unauthorized
    end
end

如何使其能够一次添加多个记录?

在您的模型中,您可以像这样覆盖分配:

def user_movie_list=(list)
  list.each do | l |
     ml = user_movie_list_items.new
     ml.title = l.title

     ... # configure your list

     ml.save!
  end
end
JSON列表包括:

{ "my_list": [{"title": "blah"}, {"title": "foo"}, ... ] }

谢谢如何将参数定义为JSON数组?def user_movie_list_item_params.require:user_movie_list_item.permit:user_movie_list_id,:title,end或者您是说我可以转到def user_movie_list_item_params=list并迭代它?我建议将if authenticate_用户替换为before_操作:authenticate_user!。