【发布时间】:2013-03-25 10:45:51
【问题描述】:
又是一天,又是一个晚上,我在 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"
});
});
现在这段代码是正常的。它在从 show.js.erb 远程调用时工作。问题是我想通过 html 而不是远程加载“用户显示”页面。这意味着该脚本不会被加载。我需要找到另一种不显眼的方式来加载它。
我想重申一下:代码中没有错误。
希望有人可以提供帮助。另请注意:有人写过使用 gon gem 来解决这个问题。不适合我 - 我真的很想在没有宝石的情况下解决这个问题。
【问题讨论】:
-
我认为你应该让你的问题更清楚。您是在寻找错误,还是在寻找做某事的方法。看看你的代码块,我想知道你的 URL 是否缺少尾随
/? -
我能知道你到底想在这里做什么
$("#container").html("<%= escape_javascript(render '/users/show') %>"); -
刚刚编辑了问题。 @SagarBommidi 该字符串将“显示”视图呈现到容器 ID 中。
标签: javascript jquery ruby-on-rails ajax