【问题标题】:link_to_remote versus renderlink_to_remote 与渲染
【发布时间】:2008-10-15 16:22:43
【问题描述】:

是否可以重新加载通过 link_to_remote 加载的页面?我在我的控制器中这样做:

def create
 if captchas_verified
  do_something
 else
  render :action=>'new'
end

但是当验证码错误时,它不会呈现新模板内的表单。顺便说一句,在 webserver 日志中,它显示模板已被渲染。

谢谢!

更新:今天我将渲染更改为:

render(:update) { |page| page.call 'location.reload' }

但这让我更新了调用 link_to_remote 的页面,而不是通过 link_to_remote 打开的页面

更新 2:我修复了使用 page.replace_html "mydiv", :partial => "new" 代替 page.call 'location.reload'

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您需要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
    

    【讨论】:

      【解决方案2】:

      这样的事情应该做你想做的事。

      render :update do |page| page << 'window.location.reload()' end
      

      【讨论】:

        猜你喜欢
        • 2011-03-22
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多