如何在RoR中加载新的部分后刷新js变量?

时间:2010-12-02 05:55:22

标签: javascript ruby-on-rails ajax

在javascript文件中,我从我的视图中删除了这个rails变量:

this.main_id = <%= images[0].id %>;

然后我使用Ajax将部分加载到页面的一部分(相关视图):

var url = '/images/thumbnails_newest/'+ this.main_id;
new Ajax.Updater(this.scroller, url);

现在js变量this.main_id已经改变了......我不知道如何在部分中访问rails变量...我想更新这个值。

this.main_id = this.main_id in partial。

有没有办法做到这一点?感谢。

1 个答案:

答案 0 :(得分:0)

在partials

的末尾添加这些行

&LT;脚本&GT; this.main_id = LT;%=图像[0] .ID%取代; &LT; /脚本&GT;

或者定义一些可以设置this.main_id值的JS方法,它需要一个参数,它将是image_id并在部分结束时调用它 假设JS方法名称是set_main_id 然后在部分代码中调用它,如下所示

&LT;脚本&GT; set_main_id(小于(%)=图像[0] .ID%GT); &LT; /脚本&GT;

实际上脚本标签中的哪些代码在客户端运行,当新内容到来时,客户端已经拥有了之前的所有内容,然后这个js将更新前一个。 希望它会对你有所帮助。