是否可以重新加载通过link_to_remote加载的页面?我在我的控制器中这样做:
def create
if captchas_verified
do_something
else
render :action=>'new'
end
但是当验证码错误时,它不会渲染新模板内的表单。顺便说一下,在webserver日志中,它显示了templades已呈现。
谢谢!
更新:今天我将渲染更改为:
render(:update) { |page| page.call 'location.reload' }
但它让我更新了调用link_to_remote的页面而不是通过link_to_remote打开的页面
更新2:我修复了使用 page.replace_html“mydiv”,:partial => “新” 代替 page.call'location.reload'
答案 0 :(得分:4)
您需要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
答案 1 :(得分:1)
这样的事情应该做你想做的事。
render :update do |page| page << 'window.location.reload()' end