Действие link_to - создать или проиндексировать, в зависимости от того, где находится код. - PullRequest
0 голосов
/ 16 сентября 2009

Я хочу циклически проходить по каждой странице индекса нумерации страниц. Я использую jquery для циклического перемещения по страницам. Я считаю, что выражение link_to вызывает действие create при вызове jquery. Выражения link_to вызывают действие index при любых других обстоятельствах.

Например:

<div id="links">
  <% 1.upto(@total_pages) do |number|%>
    <%= link_to 'Page',"#{clients_path}?page=#{number}" %> 
    <br />
  <% end %>
</div>

Создает ссылку, которая вызывает действие индекса, как и следовало ожидать при маршрутизации по умолчанию (т.е. map.resources: clients).

Для просмотра страниц у меня есть следующий html:

<div id="show" style="display: none">
    <% 1.upto(@total_pages) do |number|%>
      <%= link_to 'Page#{number}',"#{clients_path}?page=#{number}" %> 
    <% end %>
</div>
<a id="stop" href="#" onclick="stop()">stop</a>
<a id="start" href="#" onclick="start()" style="display: none">start</a>
<div id="output"></div>

А вот и вопрос:

var cur = 0;
var links = [];
var timeout;

function nextLink() {
    if (cur + 1 >= links.length) {
        cur = 0;
    } else {
        cur++;
    }
    return links[cur];
}

function nextPage() {
    $.post(nextLink(), function(data) {
        $("#output").fadeOut("slow", function(){
            $("#output").html(data);
            $("#output").fadeIn("slow");
        });
    });
}

function stop() {
    clearTimeout(t);
    $("#stop").hide();
    $("#start").show();
}

function start() {
    $("#start").hide();
    $("#stop").show();
    slideshow();
}

function slideshow() {
    nextPage();
    t = setTimeout("slideshow()", 5000);
}

$(document).ready(function() {
    $("#show").children().each(function() {
        links.push(this);
    });

    slideshow();
});

Результатом этого является призыв к созданию. Чего мне не хватает?

1 Ответ

1 голос
/ 16 сентября 2009

Это происходит потому, что вы отправляете на URL, $ .post (...). Rails видит сообщение и пытается обработать его с помощью магии сопоставленных ресурсов. Измените это на $ .get (...), и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...