当我单击 rails-5.2 应用程序的“加载更多”按钮时,如何调整输出数据以显示在表格中?

Posted

技术标签:

【中文标题】当我单击 rails-5.2 应用程序的“加载更多”按钮时,如何调整输出数据以显示在表格中?【英文标题】:How to adjust output data to show in table while I clicking 'Load More' button for rails-5.2 app? 【发布时间】:2020-06-07 05:02:46 【问题描述】:

我在 rails 应用程序中使用了“加载更多”按钮而不是使用“will_paginate gem”进行分页。通过单击“加载更多”按钮可以显示数据。但数据未列于表中。它显示在桌子外面。 我使用了'will_paginate' gem 和'jquery-rails'。

照片:article index page

articles_controller.rb

    def index
        @articles = Article.paginate(:page => params[:page], :per_page => 5)
        respond_with @articles

        respond_to do |format|
            format.html
            format.js
        end
    end

articles/index.html.erb

<div class="container">  
  <h1>Listing Articles</h1>
  <%= link_to 'New article', new_article_path, class: 'btn btn-sm btn-info' %>

  <table class="table">
    <thead>
      <tr>
        <th>Title</th>
        <th>Text</th>
        <th></th>
      </tr>
    </thead>

      <div class="link-wrap">
        <%= render "articles/article", cache: true %>
      </div>  

  </table>

  <div id="without_button">
    <%= will_paginate @articles %>
  </div>

  <div class="link more">
      <%= link_to 'More Articles', articles_path(:page => @articles.next_page), class: "btn btn-primary btn-sm next_page" %>
    </div>
</div>  
articles.js.erb

$('.link-wrap').append("<%= escape_javascript(render partial: "articles/article", :locals =>  :article => @articles ) %>");
<% if @articles.next_page %>
    $('.next_page').attr('href','<%= articles_path(:page => @articles.next_page) %>');
<% else %>
    $('.more').remove();
<% end %>

pagination.js.erb

$ ->
    $('#without_button').hide()
    $('#without_button form').after('<button class="btn btn-primary btn-sm disabled" style="display: none;">More users</button>')
    $('.next_page').on 'click', (e) ->
    e.preventDefault()
    url = $(this).attr('href')
    $.getScript(url)

【问题讨论】:

【参考方案1】:

首先我看到一个文件有不同的渲染方法 render "articles/article"render partial: 'articles/article', locals: article: @articles 你能提供那个文件的内容吗? 我认为这个问题可能出在那个文件上。

【讨论】:

以上是关于当我单击 rails-5.2 应用程序的“加载更多”按钮时,如何调整输出数据以显示在表格中?的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5.2 和 webpacker 3.4.3:部署到 Heroku 时资产未编译

Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据

上传前的 Rails 5.2 ActiveStorage 裁剪附件

Rails 5.2 Active Storage 添加自定义属性

Rails 5.2 的 ActiveStorage 图像上传错误:signed_id 委托给附件,但附件为零

带有 master.key 的 Rails 5.2 - Heroku 部署