Руби и Синатра - PullRequest
       21

Руби и Синатра

3 голосов
/ 07 января 2011

Я начал писать простое приложение Sinatra сегодня, и я пытаюсь понять сообщения об ошибках, но по какой-то причине я не могу заставить его работать правильно.

Я знаю здесь, http://railsapi.com/doc/sinatra-v1.0/, речь идет о работе с сообщениями об ошибках / обработке, но когда я запускаю их примеры, я не могу заставить их работать.

require 'sinatra'

error 400..510 do
  'Boom'
end

get '/say/*' do
  params[:splat]
end

Когда я запускаю приложение на своем компьютере, я получаю код ошибки 404, но текст 'Boom' не отображается в браузере, только страница браузера 404. Я уверен, что делаю что-то не так, но просто не могу понять это.

Ответы [ 2 ]

4 голосов
/ 07 января 2011

Ставлю свой браузер. На моем MacBook Pro:

В Chrome «полезно» отображается сообщение «К сожалению, эта ссылка не работает». стр.

Safari отображает ожидаемый Boom текст.

Firefox отображает ожидаемый Boom текст.

0 голосов
/ 21 мая 2015

Кажется, что Sinatra генерирует исключение Sinatra :: NotFound (404) для определенного обработчика. Просто измените код следующим образом:

require 'sinatra'

not_found do
  'Boom in NOT_FOUND.'
end

error 400..510 do
  'Boom'
end

get '/say/*' do
  params[:splat]
end

Хорошо работает в Chrome и Firefox на Mac OSX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...