1
Пожалуйста, рассмотрим следующий метод в контроллере:Как вернуть JSON или Ruby хэш из контроллера?
def get_navigation_from_session
respond_to do |format|
format.json { render json: session[:navigation]}
end
return session[:navigation]
end
То, что я хочу, чтобы это сделать, это ответить на вызов Ajax и отправить навигации хэш, если это соответствующий запрос. Если нет, я просто хочу, чтобы он возвращал хэш в код рубина, который ему нужен. Очевидно, это не работает. Как я могу исправить вышеуказанный метод для достижения этой цели?
Спасибо
Вы должны беспокоиться только о написании ответа изнутри действия контроллера, не возвращает какой-либо ценности. Вы должны изменить любой код, вызывающий действие контроллера, и ожидание возврата Hash. Трудно дать вам хорошее решение, не понимая, что вы пытаетесь выполнить с помощью кода. Возможно, если вы разместите остальную часть кода или объясните, что вы пытаетесь сделать, кто-то может помочь вам перестроить ваш код. –
Спасибо Огз. Я храню навигационные координаты в сеансе, где пользователь находится в приложении. Мне нужно постоянно обновлять что-то в макете на основе этой информации, поэтому я хочу, чтобы некоторые Ajax проходили через контроллер приложений (казалось, логическое место, чтобы сделать маршрут) и узнали. Я был бы признателен, если бы вы могли направить меня в направлении лучших практик здесь. –