2015-03-08 8 views
0

Я создал свою модель:Рельсы, строгие ассоциации

class Vehicle < ActiveRecord::Base 
belongs_to :player 
has_one :basis 
has_one :carcass 
has_one :weapon 
end 

Как я могу сделать эту модель в состоянии спасти себя только, когда он получил свой игрок, основа, каркас, оружие? Что мне нужно для объявления моей проверки?

+0

Используйте [validates_presence_of] помощник проверки (http://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_presence_of). –

+0

Что-то вроде 'validates_presence_of: player'? –

+0

Да. Посмотрите на другие помощники проверки. Может быть, они будут полезны и вам. –

ответ

2

Вы можете проверить состояние объектов, прежде чем они войдут в базу данных, используя функцию Active Record's validations.

В вашей модели автомобиля, определять валидации следующим образом:

class Vehicle < ActiveRecord::Base 
    belongs_to :player 
    has_one :carcass 
    has_one :weapon 

    validates :player, presence: true 
    validates :carcass, presence: true 
    validates :weapon, presence: true 
end 

Это должно предотвратить ваш Vehicle быть сохранено, если любой из ваших ссылок отсутствует.

Удачи вам!

Редактировать

Вы можете сократить правила проверки:

validates :player, :carcass, :weapon, presence: true 
Смежные вопросы