Я создал несколько пользовательских страниц ошибок в Rails, которые прекрасно работают.
match '/404', to: 'errors#not_found', via: :all
match '/500', to: 'errors#internal_server_error', via: :all
Контроллер выглядит так:
class ErrorsController < ApplicationController
def not_found
render status: 404
end
def internal_server_error
render status: 500
end
end
Отображает пользовательский шаблон Rails, панель навигации приложений, нижний колонтитул и т. Д.
в application.rb
Я установил config.exceptions_app = routes
.
Но ресурс «Цитировать» можно «внедрить» через iFrames
на других сайтах.
Это представление iFrame
намеренно редкое. У него нет панели навигации, нет нижнего колонтитула, это 100% ширина, высота.
В тех случаях, когда эта «цитата» недоступна, я бы хотел использовать 404 в том же «разреженном макете» - без навигационной панели, без нижнего колонтитула, а также с шириной 100%.
У
Quote
есть такой URL:
http://localhost:3000/@stoplion/quote/18
.
Так что в основном это: имя пользователя, ресурс, resource.id
У меня есть это
область действия: доля, модуль: «доля», только:% i [показать обновление] сделать
ресурсы: пользователи, путь: '', только: [], ограничения: {user_id: user_id_pattern} do
соответствует '/ 404', чтобы: 'errors # not_found', через:: all
соответствует '/ 500', чтобы: 'errors # internal_server_error', via:: all
ресурсы: цитата
конец
конец
И, наконец ... Я настроил еще один errors_controller
в области действия share
class Share::ErrorsController < ErrorsController
layout 'share'
end
layout
share
- это макет без навигационной панели и т. Д. *
Но это просто обычный 404 с обычным макетом приложения (navbar, footer и т. Д.)
У кого-нибудь есть идеи, как это сделать?