0

コントローラー内のテーブルの 1 つにデータが既に存在するかどうかを確認するにはどうすればよいでしょうか? たとえば、create アクションで次のことが起こらないようにしたいとします。 @equip = @petowner.equips.new(params[:equip]) この変数には、equips テーブルに既に存在するデータが含まれます。特定のインベントリのデータが再度適用されないようにしたいと考えています。

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 に答える