В настоящее время я пытаюсь интегрировать inherited_resources и полномочия в мое приложение Rails.Интеграция inherited_resources и полномочий
Я немного застрял относительно наилучшего места, чтобы проверить возможность действия контроллера на основе ресурса. Этот код приведен в качестве примера в авторитете:
def edit
@llama = Llama.find(params[:id])
authorize_action_for(@llama) # Check to see if you're allowed to edit this llama. failure == SecurityViolation
end
def update
@llama = Llama.find(params[:id])
authorize_action_for(@llama) # Check to see if you're allowed to edit this llama.
@llama.attributes = params[:llama] # Don't save the attributes before authorizing
authorize_action_for(@llama) # Check again, to see if the changes are allowed.
if @llama.save?
# etc
end
Поскольку в inherited_resources искатели абстрагируются прочь, я подумал, что было бы неплохо также лавировать в authorise_action_for
проверки на этих отвлеченных искатели.
Двойная проверка органа власти в случае обновления (и, предположительно, создания).
Пожалуйста, обратите внимание, что вы должны размещать основные части ответа здесь, на этом сайте, или ваши почтовые риски удаления [См FAQ где он упоминает ответы, которые «чуть больше, чем ссылка».] (http://stackoverflow.com/faq#deletion). Вы можете по-прежнему включать ссылку, если хотите, но только как ссылку. Ответ должен стоять сам по себе, не нуждаясь в ссылке. – Taryn