又一天,又一个晚上,我在 JS 和 JQuery 上敲了敲头。
我想通过 HTML 调用一个页面(并在标题中显示路由),但让它也加载一个 js.erb 脚本。或者,我想远程调用 js.erb 脚本,但还要更改 http 标头以指示新路由。
我想要这个是因为:a)我想学习,这让我很沮丧 b)目前,当用户刷新时,他的当前页面没有出现,而是远程 => true 调用的那个页面;;返回到他不记得的页面会让用户感到困惑。
我正在实现 JQuery.pageless 插件。我远程调用用户/显示页面,这就是我的 show.js.erb 文件中的内容:
$(function(){
$("#container").html("<%= escape_javascript(render '/users/show') %>");
$('#relationship_list').pageless({ totalPages: "<%= @reviews.count %>"/5+1
, url: '/reviews'
, params: {id: "<%= params[:id] %>"}
, loaderMsg: "loading"
});
});
现在这段代码是 A-OK。它在从 show.js.erb 远程调用时工作。问题是我想通过 html 而不是远程加载“用户显示”页面。这意味着该脚本不会被加载。我需要找到另一种不显眼的方式来加载它。
我想重申:代码中没有错误。
希望有人可以提供帮助。另请注意:有人写过使用 gon gem 来解决这个问题。不适合我——我真的很想在没有宝石的情况下解决这个问题。