Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails—能够直接链接到通过ajax呈现的视图_Ruby On Rails_Ruby_Ajax - Fatal编程技术网

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调用后修改页面的方式相同