Я пытаюсь использовать javascript/ajax для изменения порядка таблицы. У меня есть JavaScript работаетRails AJAX и обновление страницы
JavaScript
var ajax_header = function(e) {
alert('order_by')
var header = $(this).attr('id')
$.post('/users', {sort_by: header, order_by: order_by});
if (order_by === "ASC")
order_by = "DESC"
else
order_by = "ASC"
}
$('.ajax-header').dblclick(ajax_header)
это принимает Javascript глобальные изменения порядка от ASC к DESC и обратно и попадает в штангу действия индекса пользователей контроллеров. Это приводит к переупорядочению @users. проблема у меня есть, я не знаю, как сделать перерисовку таблицы. Я могу сделать это, используя только рельсы, но я хочу лучше изучить AJAX с рельсами, и я считаю, что документы не очень хорошо написаны.
пользователи контроллер
def index
if !params[:sort_by].nil? && !params[:order_by].nil?
@users = User.order("#{params[:sort_by]} #{params[:order_by]}").paginate(page: params[:page])
respond_to do |format|
format.js {}
end
else
@users = User.paginate(page: params[:page])
end
конец
мнение, что рисуется
<% provide(:title, 'All users') %>
<% if signed_in? && !current_user?(@user) %>
<h1>All users</h1>
<%= will_paginate %>
<table id="user_table" border="1">
<tr>
<th>Avitar
<th id="name"class="ajax-header">Name
<th id="email" class="ajax-header">Email
<th id="accepted" class="ajax-header">Accepted
<th id="admin" class="ajax-header">Admin
<th>Delete
</tr>
<ul class="users">
<%= render @users%>
</ul>
</table>
<%= will_paginate %>
<% else %>
Only an admin can view this page.
<% end %>
это мнение выше, это то, что обращается. <% = render @ users%> вызывает частичное и вытягивает остальную часть таблицы.
Как я уже сказал, глядя на журналы, я правильно управляю контроллером пользователей, но я просто не знаю, как заставить этот рендер перерисовать. Я могу сделать это в рельсах, но я хотел бы практиковать свои js.
Если вы хотите получить хороший ответ, не могли бы вы помочь нам, уточнив, что именно вы хотите? – Alex
Я пробовал. После нажатия на заголовок вызывается javascript, который попадает в пользовательский контроллер, заставляя пользователей теперь находиться в другом порядке. Я не знаю, как теперь показывать новых пользователей. В ruby html это render @users, который рисует таблицу. – Brandon