Для конкретной роли (группы пользователей) я добавил: readonly к каждой находке в активной записи
def self.find(*args)
if User.current_user.has_role? 'i_can_only_read'
with_scope({:find => {:readonly => true}}) do
result = super *args
end
end
end
Конечно, теперь он вызывает ActiveRecord :: ReadOnlyRecord Исключения в контроллере, передаваемые пользователю; не очень хорошо.
Могу ли я поймать этот тип ошибки в одном месте? Как в production.rb или в application.rb? Или я могу настроить конкретную страницу ошибки для этой ошибки?