2012-05-07 2 views
0

Я хочу проверить, что пользователь включен в группу. В попытке сделать это, у меня есть следующее заявление:Использование оператора if с помощью метода поиска Rails ActiveRecord

user_id = current_user.id 
unless (group.user.find(user_id)) 
    redirect_to different_path 
end 

Глядя на документах, «неспособность найти запрашиваемый объект вызывает ResourceNotFound исключения, если находка была вызвана с идентификатором.» Как написать инструкцию if, чтобы она работала правильно?

+0

Определения «правильно». Вы не можете спастись? –

ответ

2

Если вы определили связь между группой и пользователями, вы можете позвонить current_user.group.present? Это вернет false, если нет связанного объекта.

1

Вы можете обращаться с переадресацией как часть обработки исключений

redirect_to path if group.user.find(user_id) 

rescue ResourceNotFound 
    redirect_to differenct_path 
end 

альтернативны и, вероятно, лучшим способом будет строить свою логику вокруг

user.groups.include?(group) 
Смежные вопросы