【发布时间】:2014-11-29 13:37:36
【问题描述】:
我有一个 Rails 网站,在该网站上创建新帖子会响应 JavaScript。
我也在使用 private_pub gem 并在创建帖子后触发推送消息。
用户应该在创建后被重定向到帖子。
这是create.js.erb的内容:
<%= @users.each do |user| %>
<% publish_to "/user/#{user.id}" do %>
$("#messages").prepend("<%= j render(@message) %>");
<% end %>
<% end %>
var url = "/posts/<%= j @post.id %>";
$(location).attr('href',url);
推送消息工作正常,但用户没有被重定向。
如果我删除 each-loop,重定向会起作用。任何其他代码都不受循环的影响,文件中的位置也不会改变任何东西。我尝试了许多不同的方法,但没有找到任何解决方案。
【问题讨论】:
-
你能检查浏览器上呈现的实际 javascript 吗?你能粘贴带/不带循环的结果吗?
-
@UriAgassi 使用循环它返回数组然后重定向,没有它只是重定向。基本上,循环看起来像这样: [#<User id: 2, ...;] var url = "/posts/3; $(location).attr('href',url);
标签: javascript jquery ruby-on-rails ruby