当前位置: 首页 > 知识库问答 >
问题:

如何在数组中添加新记录并在数据库Rails API中更新数组中的记录

令狐凌
2023-03-14

这是我正在接收的数据,如果阵列中不存在id,则希望添加新记录,如果阵列中没有id,则还希望更新记录

我的模型:课堂课程

课堂主题

用户

这是通过PostMan从Rails API接收的数组[{"title":"Topic Name","path_url":"https://resource-asws-path-url" }, { "id": 2311,"title":"Topic Name","path_url":"https://resource-asws-path-url"}]

我是这样做的:

 if params[:topics].present?
                    attributes_list = [params[:topics]].to_s
                    attributes_list.each do |attributes|
                      if attributes.key?('id')
                        Topic.find(attributes['id']).update!(attributes)
                      else
                        Topic.create!(attributes)
                      end
                    end
I need to get attributes dynamically from the request from post under params[topics]

共有1个答案

齐承泽
2023-03-14

我有一个条件:

if params[:topics].present?
  JSON.parse(params[:topics]).each do |topic|
    if topis.key?('id')
      Topic.find(topic['id']).update!(topic)
    else
      Topic.create!(topic)
    end
  end
end
 类似资料:
  • 问题内容: 我正在为我的朋友们建立一个社交网站。我想知道当数据库中添加新记录时,如何更新包含很少插入的数据库记录的Div。简而言之,您一定已经看到了facebook的实时通知,当某人执行某项操作时,它们就会消失。这一切都不会刷新整个实时通知div。只有新通知才添加到div。 我想使用jquery和AJAX做到这一点,因为我对它们有很好的了解。和PHP作为服务器端语言。 先感谢您。 PS:我已经在许

  • 尝试站点parse.com将数据加载到数据库中 类DBHelper扩展了SQLiteOpenHelper{ 在模拟器上获取 java.lang.IllegalStateExcema:尝试重新打开已关闭的对象:SQLiteDatabase: /data/data/com.project.test/databases/myDBandroid.database.sqlite.SQLiteClosable

  • 我正在使用entityMenager登录,并没事。

  • 我上传图像使用平均堆栈和Multer模块 我可以从angular中检索图像,甚至可以将图像路径发布到Mongoose集合 问题是,我希望有一个图像数组,但在发布到mongoose时,它会将每个图像存储为一个新记录 图像模式 POST API 收藏已保存 如果我发布两张图像,它将按如下所示进行存储,但我希望两张图像都保存在同一记录中,即在内 ** ** 请帮忙。

  • 我有一个以对象数组作为参数的函数,并希望使用JSDOC来描述参数(包括数组中对象的属性),如本例所示: 其中过滤器如下所示: 如何在jsdoc3中记录属性id和值?

  • 本文向大家介绍JDBC程序更新数据库中记录的方法,包括了JDBC程序更新数据库中记录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JDBC程序更新数据库中记录的方法。分享给大家供大家参考,具体如下: 使用JDBC程序(Eclipse、MyEclipse)更新数据库(MySql)中的记录时可以只修改记录的一个字段或几个字段,具体方法为可以加入如下被注释代码(前提是修改之前可以从数据库