首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AJAX重新加载部分视图不起作用

使用AJAX重新加载部分视图不起作用
EN

Stack Overflow用户
提问于 2014-01-17 00:22:32
回答 1查看 149关注 0票数 0

我希望在不重新加载页面的情况下对列进行排序,我正在尝试使用Ajax,但它不起作用。

welcome_controller.rb

代码语言:javascript
复制
def index
  @keyword = params[:keyword]
  @category = params[:category]

  @search = HrCurriculumIntern.search(params[:search])
  @hr_curriculum_interns = @search.all

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

视图/欢迎/index.html.erb

代码语言:javascript
复制
<% title %>

<div class="container">
  <ul class="tabs" data-tabs data-toggle="tab">
<li class="active"><a href="#main"><%= t('labels.main') %></a></li>
<li><a href="#interns"><%= t('labels.interns') %></a></li>
<li><a href="#analysts"><%= t('labels.analysts') %></a></li>
</ul>  

<div class="tab-content"> 
 <div id="main" class="active">
  <%= render "search" %>
</div>

<div id="interns" >
  <%#= render "hr_curriculum_interns/hr_curriculum_interns_filter" %>
  <%= render "hr_curriculum_interns/table_hr_curriculum_interns" %>
</div>

<div id="analysts" >
  <%= render "hr_curriculum_systems_analysts/table_hr_curriculum_systems_analysts" %>
</div>

在视图/欢迎/index.js.erb中

代码语言:javascript
复制
$("#table_hr_curriculum_interns").html("<%=escape_javascript(render("hr_curriculum_interns/table_hr_curriculum_interns")) %>");

views/hr_curriculum_interns/_table_hr_curriculum_interns.html.erb

代码语言:javascript
复制
<%= stylesheet_link_tag "bootstrap" %>
<%= javascript_include_tag "bootstrap-tabs" %>

 <div class="container">
 <%= new_button HrCurriculumIntern.new, [:new, :hr_curriculum_intern] %>
   <table class="zebra-striped">
      <thead>
        <tr>
    <th><%= sort_link @search, :date_interview, t('attributes.date_interview') %></th>
    <th><%= sort_link @search, :name, t('attributes.name') %></th>
    <th><%= sort_link @search, :college, t('columns.college') %></th>
    <th><%= sort_link @search, :major, t('columns.major') %></th>      
    <th><%= sort_link @search, :answer_sent, t('columns.answer_sent') %></th>
    <th></th>
    <th></th>
    <th></th>
  </tr>
</thead>
<tbody>
  <%# @hr_curriculum_interns = HrCurriculumIntern.all %>
  <% @hr_curriculum_interns.each do |hr_curriculum_intern| %>
    <tr>
      <td><%= display_date(hr_curriculum_intern.date_interview) %></td>
      <td><%= smart_truncate(hr_curriculum_intern.name) %></td>     
      <td><%= smart_truncate(hr_curriculum_intern.college) %></td>
      <td><%= smart_truncate(hr_curriculum_intern.major) %></td>
      <td><%= hr_curriculum_intern.answer_sent %></td>
      <td><%= show_icon hr_curriculum_intern, hr_curriculum_intern, "data-default-action" => true %></td>
      <td> <%= edit_icon hr_curriculum_intern, edit_hr_curriculum_intern_path(hr_curriculum_intern) %></td>
      <td><%= link_to image_tag('icons/destroy.png'), hr_curriculum_intern, method: :delete, data: { confirm: t('messages.are_you_sure') } %></td>
    </tr>
  <% end %>
</tbody>

这不是workinks,当我单击任何列名时,页面都会重新加载。怎么了?

EN

回答 1

Stack Overflow用户

发布于 2014-01-17 00:47:16

为什么仅仅为了重新排序数据就需要执行AJAX请求?为什么不使用客户端JS对其进行排序并重新显示呢?

有几个Railscast将向您展示如何做到这一点:

http://railscasts.com/episodes/340-datatables

http://railscasts.com/episodes/228-sortable-table-columns

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21167240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档