Ruby on rails Rails—能够直接链接到通过ajax呈现的视图
正在寻找实现这一点的最佳方法。目前,我有一个“显示”用户页面-显示所有用户的图片Ruby on rails Rails—能够直接链接到通过ajax呈现的视图,ruby-on-rails,ruby,ajax,Ruby On Rails,Ruby,Ajax,正在寻找实现这一点的最佳方法。目前,我有一个“显示”用户页面-显示所有用户的图片 def show @user = User.find(params[:id]) @pictrues = @user.pictures end 在那一页上,我有各种标签。当用户单击其中一个选项卡时,ajax调用将呈现一个视图。。。特别是,它更新了以前显示所有用户图片的部分(以及用于统计的附加部分)。对于“show comments”示例,它使用用户评论的所有图片更新部分: def show_comments
def show
@user = User.find(params[:id])
@pictrues = @user.pictures
end
在那一页上,我有各种标签。当用户单击其中一个选项卡时,ajax调用将呈现一个视图。。。特别是,它更新了以前显示所有用户图片的部分(以及用于统计的附加部分)。对于“show comments”示例,它使用用户评论的所有图片更新部分:
def show_comments
@user = User.find(params[:id])
@pictures = @user.picture_comments.map{ |p| p.picture }.uniq
respond_to do |format|
format.html
format.js
end
end
show_comments.js.erb文件如下所示:
$("#user_content_container").html("<%= escape_javascript render(partial: 'shared/pictures', pictures: @pictures) %>");
$("div.user_header").html("<h4>Comments</h4><br/>");
$("#stat_container").html("<%= escape_javascript render(partial: 'shared/comment_stats', pictures: @pictures) %>");
$(“#用户内容_容器”).html(“”);
$(“div.user_header”).html(“注释
”);
$(“#stat_container”).html(“”);
我想做的是保持页面的当前功能。还可以直接链接到通过ajax呈现的视图。例如,在另一个页面上有一个直接指向用户“显示”页面的链接,就像单击“评论”选项卡时一样
我有一些想法,但不确定这样做的“最干净”方式是什么。让我知道如果你需要任何额外的澄清,b/c老实说,我很难措辞这个问题,因为我在寻找最好的方式来实现这一点 这听起来像是您可以使用解决的问题。如果您可以将应用程序更新为使用Rails 4,则可以将其捆绑在一起。否则,您可以使用gem。有关如何执行此操作的更多信息,请观看 如果您不想或不能使用它们,您也可以尝试在url中传递参数,并在加载页面时检查它们。您可以使用参数修改页面,修改方式与AJAX调用后修改页面的方式相同