Можно ли перезагрузить страницу, которая была загружена через link_to_remote? Я делаю это в своем контроллере:
def create
if captchas_verified
do_something
else
render :action=>'new'
end
Но когда капча неправильная, она не отображает форму, которая находится внутри нового шаблона. Кстати, в журнале веб-сервера видно, что шаблоны были отрисованы.
Спасибо!
ОБНОВЛЕНО: Сегодня я изменил рендер на:
render(:update) { |page| page.call 'location.reload' }
Но это заставляет меня обновлять страницу, которая называла link_to_remote, а не страницу, которая была открыта через link_to_remote.
ОБНОВЛЕНО 2: я исправил использование page.replace_html "mydiv",: partial => "новый" вместо page.call 'location.reload'





Что-то вроде этого должно делать то, что вы хотите.
render :update do |page| page << 'window.location.reload()' end
Вам нужен render :update, а не render :action.
Я делаю такие вещи все время. Подобно ответу от jdl, вы можете использовать встроенный rjs (не знаю, правильный ли это термин) для рендеринга страницы.
render(:update) do |page|
page.replace_html("div_to_update", :partial => "name_of_template", :object => @object)
page << "alert('javascript can be inserted here as well')"
end