У меня есть ClientServer, который имеет много ClientApplications.Я хочу, чтобы пользователи могли уничтожать только те серверы, которые с ними связаны.Каждый объект ClientApplication имеет application_owner_email, который сопоставляется с current_user.Если электронные письма совпадают, они должны иметь разрешение на уничтожение для связанного Сервера.В файле abilities.rb у меня есть следующее
if user.has_role?(:application_owner)
can :destroy, ClientServer.all.each do |server|
server.client_applications.each do |app|
app.application_owner_email == user.email
end
end
Но это не работает.Я создал аналогичные условия.Например, нижеприведенное условие отлично работает:
can :destroy, ClientApplication.all.each do |app|
app.application_owner_email == user.email
end
Пользователь может уничтожать ClientApplications только там, где он является владельцем_приложения.
Любая помощь по этому вопросу будет принята.