Với Rails sau 4.2 điều khiển:Đáp ứng với một tình trạng trái phép (401) với Rails 4
class Api::UsersController < ApplicationController
def index
respond_to do |format|
format.html do
flash[:error] = 'Access denied'
redirect_to root_url
end
format.json do
render json: {}, status: :unauthorised
end
end
end
end
Khi, với RSpec 3, tôi cố gắng gọi index
hành động này và hy vọng sẽ có tình trạng 401 Tôi luôn luôn có tình trạng 200.
thời điểm duy nhất mà tôi có 401 là để thay thế nội dung index
hành động với head 401
nhưng tôi muốn để đáp ứng với lỗi 401 và cũng xây dựng một "nice" cơ thể như { error: 401, message: 'Unauthorised' }
.
Tại sao status: :unauthorised
bị bỏ qua?
tôi chỉ xây dựng một ứng dụng thử nghiệm nhanh chóng và spec của bạn đi. Nó có thể là một 'before_filter' hoặc' before_action' khác như @shoji gợi ý. –
Tôi gặp vấn đề tương tự với Rails 4.2.0 và Rspec-ray 3.3 – diffeomorphism