2013-10-12 2 views
0

Как проверить, существуют ли какие-то данные в одной из таблиц контроллера? Так, например, можно сказать, что в действии create вы хотите предотвратить следующее: @equip = @ petowner.equips.new (params [: equip]) Эта переменная содержит данные, которые уже существуют в таблице экипировок. Я хотел бы предотвратить повторное применение данных данного инвентаря.Контроллер Rails проверяет информацию уже в таблице

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

Любые идеи?

ответ

0

Вы можете использовать .exists?() функции

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

Вы можете также поставить некоторые валидации в самой модели, такие как validates uniqueness:

class Account < ActiveRecord::Base 
    validates :email, uniqueness: true 
end 
+0

Это звучит как что-то я мог бы попробовать, но мог вы говорите мне, как существует? работает? У меня есть уникальные поля, уже существующие в моделях, чтобы попытаться связать хозяина и инвентаря вместе проверяет: pet_owner, наличие: истина, уникальность: {scope: inventory_id} – Eric

Смежные вопросы