繁体   English   中英

Ruby-Rails-在Ajax之后销毁实例变量

[英]Ruby - rails - destroy instance variable after ajax

完成一个ajax调用后,如何销毁实例变量。 在我的应用程序中,数据是通过Ajax返回的,并且通常会进行新的调用,而先前调用中的某些值会与某些新值混合在一起返回。 那是设计流程吗? 还是只是通过寻找一种破坏真实价值的方法来前进?

控制器示例-

    def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
    format.html { render :partial => 'list'}
    format.js
    end
    return @result 
    end

我注意到几次,ajax请求会混淆值。 我在这里误会大吗?

就您的问题而言,实例变量在调用之间无法生存,每个http调用都独立于其他调用,并且变量直到下一个调用才存在。 但是我注意到下面的代码有些奇怪

def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
        format.html { render :partial => 'list'}
        format.js
    end
    return @result 
end

在上面的代码中,我看不到为什么要从获取AJAX请求的控制器函数返回值。 我想你想要的是

def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
        format.html { render :partial => 'list'}
        format.js { render :json => @result }
    end
end

您应该在format.js块内进行render ,而不是最后返回。 希望能有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM