예를 들어, 30 개의 항목이 있으며 각 페이지에 3 개씩 (물론 많은 페이지가 있음) 표시되도록 항목을 나눕니다.레일스의 다른 페이지에 항목을 나누는 방법은 무엇입니까?
현재 URL에 매개 변수를 전달하고 액션에 Ruby 코드를 작성하여 구현했습니다.
x = params[:id]
if x
@problems = []
x = params[:id].to_i
t = Problem.all.count
i = 1
problem_numbers = -3 * (x - 1)
while t > 0 do
if Problem.exists?(i)
problem_numbers += 1
t -= 1
if problem_numbers > 0
@problems = @problems + [Problem.find(i)]
end
end
if problem_numbers == 3
break
end
i += 1
end
end
아주 잘 작동하지만,이 코드 조각은 이러한 기능에 다소 복잡 할 수 있습니다. 또한 많은 항목이있는 경우에도 모든 항목을 계산했기 때문에 방문 페이지가 느려질 수 있습니다.
더 편리한 방법이 있나요? 미리 감사드립니다.
페이지 매김이 맞습니까? Checkout [will_pagine] (https://github.com/mislav/will_paginate) – Jordan