如何检查数据库中是否已经存在新输入的值

时间:2019-02-21 06:15:28

标签: ruby-on-rails

我想检查image_name是否已经存在,我是否已经尝试过类似的操作,这里image_idimage_name是相同的

@image= MImage.where('image_name= ?',params[:image_name])

3 个答案:

答案 0 :(得分:1)

Rails(ActiveRecord)具有exists?方法来执行这种查询:

if MImage.exists?('image_name= ?', params[:image_name])
  # Do something if it exists
else
  # Do something if it doesn't exists
end

指向文档https://api.rubyonrails.org/v5.2.2/classes/ActiveRecord/FinderMethods.html#method-i-exists-3F

的链接

答案 1 :(得分:0)

您可以简单地这样做

image_present? = MImage.where(image_name: params[:image_name]).present?

如果其他对象的属性已经存在,则模型中通常使用Rails-uniqueness验证来添加错误

答案 2 :(得分:0)

您可以使用MImage.where(image_name:params [:image_name])。exists吗?检查它。