检查重复记录然后创建

时间:2016-11-21 11:15:16

标签: ruby-on-rails

我有一个rails应用程序,我试图downvote或upvote联系人。我有一个由设计驱动的用户模型。我也有一个反馈模型,用于存储哪个用户已投票/投票给联系人。当两个用户尝试upvote / downvote相同的联系人详细信息时,如何将记录插入反馈表?

1 个答案:

答案 0 :(得分:0)

Contract.find_or_create_by(name: 'xyz') do |contract|
  contract.user_id = current_user.id
end

在上面的代码中你有两个案例

案例1)合同名称xyz在这种情况下存在合同将使用当前用户的id更新

案例2)合同名称xyz不存在,在这种情况下,将创建一个id为当前用户的新合同

更多信息可在Api Dock

中找到