может быть, 99,9% операций с таблицами можно разложить на базовые быстрые и оптимизированные: разбиение, конкатенация (в случае чисел: сумма, умножение и т. Д.), Фильтрация, сортировка, объединение.
Здесь left_join от dplyr - ваш путь. Просто создайте другой фрейм данных, отфильтрованный от нулей и сгруппированный по значению с правильной группировкой. Затем замените нули значениями из нового объединенного столбца.
Хорошо, таким образом, я нашел решение своей проблемы. Я нашел очень хорошую запись на ситуации здесь. Моя реализация похожа на это:
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
значения Вашего хеша являются строками иначе, ошибки будут брошены.
Я не думаю, что Вы можете сделать это, и я подозреваю, что ограничение является частью самого HTTP.
При использовании redirect_to - перенаправление происходит как "302 Перемещенных" заголовка, если иначе не указано в параметрах.
Взглянуть на саму Спецификацию HTTP не показывает способа изменить тип запроса, который браузер выполняет через перенаправление.
Этот класс кода состояния указывает, что дальнейшие меры должны быть предприняты агентом пользователя для обрабатывания запроса. Требуемое действие МОЖЕТ быть выполнено агентом пользователя без взаимодействия с пользователем, если и только если метод, используемый во втором запросе, ДОБИРАЮТСЯ или НАПРАВЛЯЮТСЯ.
Я думаю, что Вы, возможно, должны использовать JavaScript, чтобы достигнуть этой функциональности или возможно заново продумать поток управления в Вашем приложении.
Если действие находится в том же контроллере как, откуда Вы пытаетесь перенаправить, просто назовите действие и представьте шаблон как так:
def show
index
render :action => "index"
end
Если это не, то я не знаю, как Вы делаете это.
Вы могли перенаправить к другой странице, которая выпускает помещенный запрос от клиента, с помощью JavaScript.