建立一个由JS文件显示/隐藏的评论系统,但同时该评论系统由用作视图计数器的相同按钮控制。两者都由两个不同的Ajax文件运行,但如果没有其他的不工作,这两个文件都无法运行。任何帮助都感激不尽!谢谢!
编辑 HTML未使用@micropost
并使用micropost
,因为@micropost
在不同的部分中定义。对于那些熟悉Michael Hartl的Rails教程的人,我已经用他的代码和教导完成了这个微博。我知道这会搞砸ajax的所有内容,它会带回@micropost
而不是micropost
,但它不会让我不在{a 1}}中放入@
所以我迷失了
评论按钮HTML
<span class='count-<%= micropost.id%>'>
<a href="/microposts/<%=micropost.id %>/upview" data-remote='true' class='CommentTitle' data-micropost='<%= micropost.id %>'>Comments</a>
</span>
评论更改计数器的Ajax
$("#count-<%=@micropost.id%>").html('<%="#{@micropost.view_count}"%>');
$(".count-<%=@micropost.id%>").html('<a href="/microposts/<%=@micropost.id%>/upview" data-remote="true" class="CommentTitle" data-micropost="<%= @micropost.id %>">Comments</a>');
评论按钮幻灯片切换JS
$(".CommentTitle").click(function(){
var title = this;
var postID = $(this).data('micropost');
$("#CommentContainer-" + postID).slideToggle("slow", function(){
$(".CommentTitle", title).html($(this).is(":hidden") ? "Comments" : "Comments");
});
});
答案 0 :(得分:1)
假设:当用户点击html中的链接时,他们会向upview
内的MicropostsController
操作发送请求。
在该控制器操作方法中,您可以分配实例变量...
@this_micropost = Micropost.find(params[:id]) # assuming you're RESTful, which it looks like
然后,在upview.js.erb
内,您可以将该实例变量用于任何您想要的内容。
希望这有帮助!