Как делают банку, Вы заставляете redirect_to использовать другой Запрос HTTP?

может быть, 99,9% операций с таблицами можно разложить на базовые быстрые и оптимизированные: разбиение, конкатенация (в случае чисел: сумма, умножение и т. Д.), Фильтрация, сортировка, объединение.

Здесь left_join от dplyr - ваш путь. Просто создайте другой фрейм данных, отфильтрованный от нулей и сгруппированный по значению с правильной группировкой. Затем замените нули значениями из нового объединенного столбца.

12
задан madth3 7 December 2012 в 23:40
поделиться

4 ответа

Хорошо, таким образом, я нашел решение своей проблемы. Я нашел очень хорошую запись на ситуации здесь. Моя реализация похожа на это:

private
def redirect_post(redirect_post_params)
  controller_name = redirect_post_params[:controller]
  controller = "#{controller_name.camelize}Controller".constantize
  # Throw out existing params and merge the stored ones
  request.parameters.reject! { true }
  request.parameters.merge!(redirect_post_params)
  controller.process(request, response)
  if response.redirected_to
    @performed_redirect = true
  else
    @performed_render = true
  end
end

Затем я назвал этот метод как это:

  redirect_post :controller => 'registrations', :action => 'order', :_method => 'put', :authenticity_token => params[:authenticity_token]

Таким образом, я смог 'фальсифицировать' помещенный запрос путем выполнения запроса сообщения (использование redirect_post) и затем присваиваясь 'помещенный' в a _method параметрический усилитель. Если Вы смотрите на нормальное put запросите все, что это - a post от формы с a _method параметрический усилитель. Таким образом, это - немного hackish, но это сделало задание.

Кроме того, необходимо удостовериться это, когда Вы звоните redirect_post значения Вашего хеша являются строками иначе, ошибки будут брошены.

2
ответ дан 2 December 2019 в 22:06
поделиться

Я не думаю, что Вы можете сделать это, и я подозреваю, что ограничение является частью самого HTTP.

При использовании redirect_to - перенаправление происходит как "302 Перемещенных" заголовка, если иначе не указано в параметрах.

Взглянуть на саму Спецификацию HTTP не показывает способа изменить тип запроса, который браузер выполняет через перенаправление.

Перенаправления HTTP:

Этот класс кода состояния указывает, что дальнейшие меры должны быть предприняты агентом пользователя для обрабатывания запроса. Требуемое действие МОЖЕТ быть выполнено агентом пользователя без взаимодействия с пользователем, если и только если метод, используемый во втором запросе, ДОБИРАЮТСЯ или НАПРАВЛЯЮТСЯ.

Я думаю, что Вы, возможно, должны использовать JavaScript, чтобы достигнуть этой функциональности или возможно заново продумать поток управления в Вашем приложении.

5
ответ дан 2 December 2019 в 22:06
поделиться

Если действие находится в том же контроллере как, откуда Вы пытаетесь перенаправить, просто назовите действие и представьте шаблон как так:

def show
  index
  render :action => "index"
end

Если это не, то я не знаю, как Вы делаете это.

3
ответ дан 2 December 2019 в 22:06
поделиться

Вы могли перенаправить к другой странице, которая выпускает помещенный запрос от клиента, с помощью JavaScript.

1
ответ дан 2 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: