首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >first_or_initialize不适用于相对模型,每次都会创建新记录

first_or_initialize不适用于相对模型,每次都会创建新记录
EN

Stack Overflow用户
提问于 2016-11-16 21:13:06
回答 1查看 168关注 0票数 0
代码语言:javascript
复制
ccs.each do |cd|
  relative_model = main_model.relative_model.where(start_date: XYZ, end_date: XYZ).first_or_initialize
  relative_model.capacity = cd['capacity'].to_f
  relative_model.save!
end

根据上面的代码,first_or_initialize不能处理相关模型,每次都会创建新的记录。

下面是两个inr在后台运行的查询:

代码语言:javascript
复制
SELECT `capacity_commitments`.* FROM `capacity_commitments`  WHERE `capacity_commitments`.`participants_subscription_id` = 1 AND `capacity_commitments`.`start_date` = '2016-11-16' AND `capacity_commitments`.`end_date` = '2016-11-21'

SELECT `capacity_commitments`.* FROM `capacity_commitments`  WHERE `capacity_commitments`.`participants_subscription_id` = 1 AND `capacity_commitments`.`start_date` = '2016-11-16' AND `capacity_commitments`.`end_date` = '2016-11-21'

需要初始帮助或指出上述代码中的错误之处?

EN

回答 1

Stack Overflow用户

发布于 2016-11-17 20:47:54

尝试使用find_or_initialize_by方法

代码语言:javascript
复制
relative_model =  main_model.relative_model.find_or_initialize_by(start_date: XYZ, end_date: XYZ)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40633067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档