Javascript 避免RubyonRails项目中的布局重新加载

Javascript 避免RubyonRails项目中的布局重新加载,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,在RubyonRails中,我希望动态加载页面数据。但那一次我不想刷新或加载布局页面,只需渲染正文。我有两个页面,当我从一个页面切换到另一个页面时,布局页面数据不应重新加载,只需加载另一个页面数据。这里有两种不同的方法 Turbolinks-这会比听起来你想要的更新多一点,但是如果你经常做这类事情,你可能需要阅读一下 使用以下方法手动使用ajax请求: A.将以下gem添加到您的gem文件中 在你的JS中包括这个。e、 g.在JavaScript文件中,通过包含以下内容来加载: //= req

在RubyonRails中,我希望动态加载页面数据。但那一次我不想刷新或加载布局页面,只需渲染正文。我有两个页面,当我从一个页面切换到另一个页面时,布局页面数据不应重新加载,只需加载另一个页面数据。

这里有两种不同的方法

Turbolinks-这会比听起来你想要的更新多一点,但是如果你经常做这类事情,你可能需要阅读一下

使用以下方法手动使用ajax请求:

A.将以下gem添加到您的gem文件中

在你的JS中包括这个。e、 g.在JavaScript文件中,通过包含以下内容来加载:

//= require jquery
//= require jquery_ujs 
C:更新链接以包含远程:true:

<%= link_to 'New page', page_path, remote: true %>
E:在视图中创建一个名为action_name.js.erb的新文件。然后,您可以将任何javascript代码放入该文件中。因此,您可以将页面上的特定元素作为目标,并将其替换为部分元素

e、 g


基本上就是这样,当你现在点击链接时,你的应用程序应该发送一个ajax请求,你应该在响应中得到呈现的javascript,这反过来应该更新你希望替换的页面上的元素。

这是一个基本概念。在每个rails应用程序中,我们都有布局文件夹。其中我们有home.html.erb布局页面,用于所有主控制器视图文件。每当我运行任何页面时,它也会加载布局页面。但我不想为所有页面重新加载布局页面。如何避免这种情况。我尝试使用ajax调用。但它需要部分文件。但我不想让所有的文件都是局部的。请以其他方式给我一些建议。渲染布局:False是的,它不会加载布局。但我需要避免重新加载布局页面。事实上,我想要的布局,但不需要重新加载布局为evry页。
  def action_name
    respond_to do |format|
      format.html
      format.js
    end
  end
$("#id_of_element_on_page").html("<%= escape_javascript(render(partial: 'page_content', locals: { project: @project })) %>");