У меня довольно классный c случай ajax разбивки на страницы, где я разбиваю свои записи на страницы (используя Kaminari), и когда пользователь нажимает кнопку «загрузить больше», следующая страница / набор записей должны быть загружены и вставлены через ajax.
Проблема в том, что большинство примеров, которые я вижу, очень упрощены c, с действием индекса, которое выглядит следующим образом:
def index
users = User.page(params[:page]).per(10)
end
И кнопка разбивки на страницы (или загрузки больше) просто сохраняет вызывая это действие индекса со следующим параметром page
.
Проблема в том, что у моего действия с индексом есть LOT больше, чем это, и я не хочу запускать весь этот код, когда все, что мне нужно, это следующая страница пользовательских записей - это медленно и ненужно.
С точки зрения условностей, как лучше всего с этим справиться? Моя мысль заключалась в том, чтобы иметь другой метод в дополнение к к index
вот так:
def load_more_users
users = User.page(params[:page]).per(10)
end
И разбивка на страницы вызывает его вместо индекса. Однако есть ли удобный способ выполнить условное выражение в действии индекса, например, проверить наличие params[:page]
и if request.xhr?
?
Как лучше всего это сделать?