0

如何检查控制器中的一张表中是否已经存在某些数据?因此,例如,让我们在创建操作中说您希望防止发生以下情况: @equip = @petowner.equips.new(params[:equip]) 此变量包含装备表中已经存在的数据。我想防止第二次应用给定库存的数据。

while @intable == 1, @intable not end of file, @intable++
if @equip.inventory_id == @intable.inventory_id
   # Render a failure message that returns back to new saying that this data already has been applied to a a given pet.
end

如果它成功并且没有找到信息,那么它应该继续前进。在 Equips 控制器中,我希望进行检查,但不知道如何完成它是 Rails 3.2.13

有任何想法吗?

4

1 回答 1

0

您可以使用该.exists?()功能

if Model.exists?(id) then
    #do stuff
end

您可能还想在模型本身中进行一些验证,例如validates uniqueness

class Account < ActiveRecord::Base
    validates :email, uniqueness: true
end
于 2013-10-12T17:02:47.197 回答