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