Проблема будет paginate рельсы ajax? - PullRequest
0 голосов
/ 21 февраля 2011

Моя проблема заключается в следующем:

У меня есть вид / действие под названием new. В этом действии я могу создать product_packs. В каждой упаковке много продуктов. ОК?

Затем в представлении new у меня есть кнопка, которая открывает всплывающее окно. Это всплывающее окно позволяет add_products упаковать. Этот продукт разбит на страницы с помощью плагина will_paginate. Таким образом, код нумерации продуктов действует new. OK

Кроме того, это всплывающее окно внутри части. (Кнопка <%= button_to_function "add_product", "BasicModal("id_add_product_partial")"%>, которая открывает всплывающее окно через плагин Simplemodal).

Хорошо, когда я выбираю продукт из списка, он загружается в список. Поэтому, когда я нажимаю кнопку add products во всплывающем окне, я больше не хочу видеть эти продукты. OK

add_products кнопка перейти к ajax-запросу ajax, где я перезагружаю продукты (я отклоняю выбранные продукты).

ТАК Я хочу снова разбить продукты на страницы, но продукты будут разбиты на страницы new. Но должен перейти к действию add_products Ajax. OK

Мне нужно решение для переписывания ссылок will_paginate.

(Пример: когда я загружаю действие new начисление <% will_paginate @ products%>, но когда я выбираю продукты и добавляю в свой список, заменяют эти ссылки will_paginate на <% will_paginate @products, # ссылки переходят к действию add_products в запрос ajax%>)

ИЛИ

Мне нужно загружать / инициализировать продукты при открытии всплывающего окна. Таким образом, всплывающий код не отображается new. Всплывающий код загружает коллекцию продуктов в действии add_products, поэтому ссылки will_paginate всегда идут на это действие.

Спасибо за совет и извините. Если вам нужен код моего приложения, я отправлю в другом ответе.

1 Ответ

0 голосов
/ 23 февраля 2011

Я нахожу решение этой проблемы. Когда у меня будет немного времени, я собираюсь опубликовать свой код более объяснительно.

Вообще говоря, мы можем объединить пагинацию ajax, описанную в официальной документации gitHub, и использовать Simple modal.

Сначала я создаю button_to_remote для удаленного действия и empty div с идентификатором attr, затем здесь я могу проработать логику моего метода так, что мы будем использовать только один раз плагин will_paginate с условиями.

Тогда я мог бы использовать RJS или в контроллере render: update. Там мы могли бы использовать page.replace_html и заполнить empty div нашей удаленной формой (частично). тогда я вызываю функцию Basicmodal с идентификатором пустого div.

затем создаю маршрут map.connectlative_url,: controller "foo",: action: bar.

Итак, у нас есть всплывающее окно с удаленной пагинацией в другом контроллере, отличное от того, что называется текущим действием.

Спасибо

...