Я думаю, у вас есть две проблемы: во-первых, ваша строка @item = Item.find(params[:id])
поднимает 404, и выполнение никогда не достигает того, что предполагалось (оператор if
). Во-вторых, вы вызываете исключения и никогда их не ловите. Попробуйте:
def destroy_oauth
begin
@item = Item.find(params[:id])
if(!@item.nil? && @item.user_id == current_user.id)
@item.destroy
respond_to do |format|
format.js
format.xml
end
else
raise ActionController::RoutingError.new('Forbidden')
end
rescue ActiveRecord::ResourceNotFound
redirect_to :action => 'not_found', :status => 404 # do whatever you want here
rescue ActionController::RoutingError
redirect_to :action => 'forbidden', :status => 403 # do whatever you want here
end
end
Что-то в этом роде, но вы также упомянули, что строите API, поэтому, когда вы исправляете ошибку, вы можете отрендерить xml
информацию об ошибке. Что-то вроде:
# in application_controller.rb
rescue_from ActionController::RoutingError, :with => :render_forbidden_error
private
def render_forbidden_error(e)
render :status => e.status, :xml => e
end
Удачи. Udachi.
Я бы использовал виртуальные машины. Создайте виртуальную машину XP (или что-то еще) с помощью VMware Workstation или аналогичного продукта и сделайте снимок. Это ваша самая старая версия. Затем выполняйте обновления по одному и снимайте каждый раз. Затем вы можете переключиться на любой моментальный снимок, который вам понадобится позже, или клонировать независимые виртуальные машины на основе всех снимков, чтобы вы могли запускать их все сразу. Вероятно, вы захотите протестировать в разных операционных системах, а также в разных версиях, поэтому виртуальные машины также обобщают это решение, а не какое-то разовое решение взлома нескольких IE для сосуществования в одном экземпляре Windows.
MultipleIE , IETester есть много подобных.
Multiple IE поддерживает IE3 IE4.01 IE5 IE5.5 и IE6 и " больше не поддерживается, и нет планов продолжать поддерживать его! Спасибо и удачи! ".
IETester кажется лучшим выбором: IE10, IE9, IE8, IE7 IE 6 и IE5.5 на рабочем столе Windows 8 , Windows 7, Vista и XP
Вы можете использовать IETester ( http://www.my-debugbar.com/wiki/IETester/HomePage )
Отвечу на ваш вопрос: нет, невозможно иметь несколько версий IE (если это то, что вы имели в виду), установленных «обычным» способом (т.е. не с помощью взлома, песочницы или виртуальная машина и т. д.). Совершенно нормально, если на одном компьютере установлено несколько браузеров разных типов, таких как IE8, Firefox 3 и Chrome одновременно.
SandboxIE должен позволить вам установить несколько версий IE рядом ( а также другое программное обеспечение), и это менее хлопотно, чем переход по маршруту виртуальной машины.
Однако с точки зрения контроля качества я настоятельно рекомендую устанавливать разные версии на разных машинах как лучший вариант с точки тестирования зрения. Это даст вам наиболее реалистичную среду тестирования. Если у вас нет оборудования для этого,