Чтобы ответить на ваш вопрос, вы можете сделать это, но это болезненно.
session[:return_to] = {controller: params[:controller], action: params[:action], id: params[:id]}
session[:return_to_params] = parameters.inspect
Затем снова использовать их
eval(session[:return_to_params])
Затем перенаправить и переиздать
redirect_to(params[:return_to].merge(eval(session[:return_to_params])))
Вы можете сделать это настолько сложным, насколько захотите, сохранив его в БД, в сеансе, записав в файл и т. Д.
Я бы рекомендовалальтернатива
Сначала измените ваше представление на ajax-запрос.Если вы беспокоитесь о том, что ваша форма не перенаправляет после создания, просто попросите ваш метод create ответить с помощью javascript:
window.location = "<%= destination %>"
Затем измените ваш require_user так, чтобы он был похож на этот:установить это на рельсах 2.3, но его достаточно легко перевести.
Обычно, если они отправляют запрос ajax и выходят из системы, вы отвечаете javascript, который создает наложение с экраном входа в систему.Если они успешно вошли в систему, вы удалите оверлей и сможете снова нажать кнопку «Отправить» (или вы отправляете его самостоятельно с помощью JavaScript, если это то, что вы ищете).