获取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 模型及其表?
将未维护的 ActiveRecord 适配器强制转换为 Rails 版本 6