获取Rails Activerecord以使用数据库的外部API ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取Rails Activerecord以使用数据库的外部API ID相关的知识,希望对你有一定的参考价值。

我让我的项目从我的反应前端为“事物”提取api并将它们置于我的redux状态。当有人想给这些“事物”添加评论时,我会对“添加评论”按钮执行onclick操作,该按钮会将“事物”发布到我的数据库中。这样我就可以开始与该事物建立关系(我希望用户能够对其添加评论)。问题是api给事物添加了一个ID,供我添加评论时参考。另一方面,活动记录对api id一无所知,只是给它一个普通的主键类型的id,而我收到一个错误“找不到ID为43565的东西”,因为在我的数据库中它的id为“ 3英寸之类的东西。我已经尝试序列化id属性以使其显示api_id,但这没有帮助。知道我该如何解决吗?

答案

在创建操作中,您可以使用params.except(:api_id)初始化对象,然后手动分配它。

def create
  thing = Thing.new(params.except(:api_id))
  thing.id = params[:api_id]
  thing.save!
end

然后您可以执行所需的任何序列化或验证

以上是关于获取Rails Activerecord以使用数据库的外部API ID的主要内容,如果未能解决你的问题,请参考以下文章

Rails ActiveRecord - 获取与锁定的belongs_to关联

如何编写迁移以重命名 Rails 中的 ActiveRecord 模型及其表?

Rails 中的表关联 - ActiveRecord

将未维护的 ActiveRecord 适配器强制转换为 Rails 版本 6

检索ActiveRecord / Rails中没有关系的对象

当我尝试在 rails 2.3.11 的视图中获取 activeRecord 对象的参数时出现错误