Пользователи могут просматривать определенные записи в моем веб-приложении с URL-адресом. /entry/8
, например. Если запись не существует, «Запись не найдена» добавляется к @messages
, и я отображаю страницу ошибки.
Я хотел бы показать какой-то произвольный запрос вместо пустой страницы, но я не могу найти хороший способ сохранить сообщение об ошибке для отображения. Есть и другие действия, которые должны выполняться в контроллере произвольного запроса, поэтому я не могу просто скопировать запрос и render :posts
.
Пример кода:
module MyApp::Controllers
class ComplexQuery < R '/query'
def get
@entries = Entries.all(:conditions => someComplexConditions)
until @entries.complexEnough? then @entries.makeMoreComplex! end
end
end
class SingleEntry < R '/entry/(\d+)'
def get(id)
@entries = Entries.find_all_by_id(id)
unless @entries.nil?
render :posts
else
@messages = ["That entry does not exist."]
render :blank # I want to run Controllers::ComplexQuery, instead of rendering a blank page.
end
end
end
end