Ajax Paging работает в разработке, но не в производстве (heroku) - Rails 3.1 - PullRequest
0 голосов
/ 17 декабря 2011

Каким-то образом ajax-пейджинг работает в моей среде разработки Rails 3.1, но не тогда, когда я развертываю его на heroku.Идентификатор подкачки работает, но без ajax.

Я знаю, что это много кода.Но я предпочитаю не пропускать файлы, которые могут быть важны.

Может ли это иметь какое-то отношение к конвейеру активов?

РЕДАКТИРОВАТЬ: Исправлено.Почему-то у heroku возникли проблемы с прекомпиляцией моих ресурсов.

Контроллер клиента:

def index
  @title = "Customers"
  company = current_company
  @customers = company.customers.search(params[:search]).paginate(:page => params[:page], :order => 'lastname ASC')

  respond_to do |format| 
    format.html # index.html.erb 
    format.js # index.js.erb 
  end
end

Файл представления индекса:

<div id="customers"><%= render 'customers'%></div>

<% content_for :actionButtons do %>
<div class="pageHeader">
<div class="row">

<div class="span6">
<div class="action_links">
    <%= link_to t('buttons.newCustomer'), new_customer_path, :class => "btn primary" %>
</div>
</div>
<div class="span8">
<%= form_tag customers_path, :method => "get", :id => "customers_search" do %>
<fieldset>
<div class="clearfix">
    <div class="input">
        <%= text_field_tag(:search, params[:search], :placeholder=>"Search", :class => "inputText") %>
        <%= submit_tag t('buttons.search'), :name => nil, :class=>"btn primary" %>
    </div>
</div>
</fieldset>
<% end %>
</div>
</div>
</div>
<% end %>

_customers.html.erb:

<% if @customers.count == 0 %>

<h2>No customers found...</h2>

<% else %>

<div class="row">
<div class="span10">
<%= hidden_field_tag :direction, params[:direction] %>
<%= hidden_field_tag :sort, params[:sort] %>
<%= will_paginate(@customers, :renderer => HosperoListLinkRenderer)%>   &nbsp;
</div>
<div class="span5"> 
<div class="pagingInfos">
    <%= page_entries_info @customers %> 
</div>
</div>
</div>
<table class="bordered-table zebra-striped">
<tr>    
  <th>Name</th>
<th>Phone</th>
  <th></th>
<th></th>
<th></th>
</tr>

<% @customers.each do |customer| %>
<tr>     
  <td><%= customer.lastname %> <%= customer.firstname %></td>
<td><%= customer.phonenumber %></td>
  <td><%= link_to t('buttons.show'), customer, :class => "button" %></td>
  <td><%= link_to t('buttons.edit'), edit_customer_path(customer), :class => "button edit"  %></td>
  <td><%= link_to t('buttons.delete'), customer, confirm: 'Are you sure?', method: :delete, :class => "button delete"  %></td>
</tr>
<% end %>
</table>
<%= will_paginate(@customers, :renderer => HosperoListLinkRenderer)%> 

<% end %>

index.js.erb:

$('#customers').html('<%= escape_javascript(render :partial => "customers") %>');

app / assets / javascripts / Customers.js:

$(function() {
  $("#customers th a, #customers .pagination a").live("click", function() {
    $.getScript(this.href);
    return false;
  });
  $("#customers_search input").keyup(function() {
    $.get($("#customers_search").attr("action"), $("#customers_search").serialize(), null, "script");
    return false;
  });
});

1 Ответ

2 голосов
/ 18 декабря 2011

Поскольку ваш код выглядит нормально, я думаю, ваши ресурсы по какой-то причине не загружаются. Либо они не скомпилированы и, следовательно, не обслуживаются, либо неправильно загружены.

...