2015-02-19 3 views
3

Как вы применяете наличие другого атрибута, если данный атрибут присутствует?Подтвердить значение одного атрибута на основании другого значения атрибута

У меня есть модель пользователя с атрибутами страны и штата. Я хочу подтвердить, когда пользователь пытается зарегистрироваться, что он не обошел проверку на стороне клиента и не отправил вредоносный запрос с params[:country]="canada" и params[:state]="new_york".

+1

Не получить вас .. Просьба уточнить. –

+0

Если я не ошибаюсь, вы хотите проверить, является ли пользователь из Канады, он не должен выбирать новый йорк как свое состояние, правильно? – Sontya

+0

@sontya selection - клиентская сторона, эта проверка сделана, и я бы предпочел не использовать драгоценный камень – propster

ответ

1

Пример реализации:

validates :state, inclusion: { in: [ON, BC, AB], 
    message: "%{state} is not valid" }, if: :country_is_canada? 

def country_is_canada? 
    country == 'Canada' 
end 
+0

spot on. Я думаю, у вас есть typo tho @railsouter после действительного – propster

+0

Спасибо, исправлено. Вот что происходит, когда вы так быстро отвечаете на вопросы –

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