ruby-on-rails – 如果存在则更新,否则什么也不做?
发布时间:2020-12-17 03:47:37 所属栏目:百科 来源:网络整理
导读:当且仅当模型存在时,我正在尝试更新模型的值.如果没有,我什么都不做.搜索似乎只返回更新或创建问题/答案,但我不想创建. 我知道我可以用一个简单的方法做到: found = Model.find_by_id(id)if found update stuffend 但是,我觉得有一种方法可以在一次调用中执
当且仅当模型存在时,我正在尝试更新模型的值.如果没有,我什么都不做.搜索似乎只返回更新或创建问题/答案,但我不想创建.
我知道我可以用一个简单的方法做到: found = Model.find_by_id(id) if found update stuff end 但是,我觉得有一种方法可以在一次调用中执行此操作,而无需分配任何临时本地值或执行if. 如果不存在噪声错误,如何编写rails调用来更新记录? 最新的Rails 3.x 解决方法
在find_by_id的结果或其中调用update_attributes之前,可以使用R000方法.
如果记录不存在,try将默认返回nil而不引发异常.如果记录存在,它将更新它. found = Model.find_by_id(id).try(:update_attributes,{key: value}) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |