will_paginate의 window 옵션을 설치하는 중 오류가 발생했습니까?
개시하다
Rails에서 호출 기능을 실현한gem가 몇 개 있지만, 나 자신은 윌이다페이지nate를 사용하고 있습니다.그 옵션은 의도대로 기능을 발휘하지 않아서 잘못 설치한 줄 알았는데 결론이 옳았다.
이벤트
will_페이지nate에는 View에 표시되는 페이지 링크 범위에 대한 옵션이 있습니다.
outer_첫 페이지와 마지막 페이지 뒤(앞)에 표시되는 페이지 수
inner_표시된 페이지 앞뒤에 표시되는 페이지 수
저는 아웃입니다.0、inner window창을 1로 설정합니다.
따라서 행동은 다음과 같다.
outer_창은 0이며 2페이지와 16페이지는 표시되지 않습니다.
inner_윈도우는 1이기 때문에 현재 페이지의 5페이지 앞뒤 4페이지와 6페이지에 표시됩니다.
예상한 동작과 같다.
그러나 4페이지를 선택할 때는 다음과 같이 동작합니다.
outer_창은 0이며 두 페이지는 표시되지 않습니다.
또한 현재 페이지도 4페이지이기 때문에 앞의 3페이지만 표시하고 2페이지는'...'로 생략해야 한다.
그럼에도 불구하고 두 페이지가 보였다.
코드
will_페이지nate 전선을 보세요.
GiitHub에서 viewhelper 주위의 코드를 확인한 후 다음과 같은 기술이 있습니다.
view_helpers/link_renderer_base.rb# left window
if outer_window + 3 < middle.first # there's a gap
left = (1..(outer_window + 1)).to_a
left << :gap
else # runs into visible pages
left = 1...middle.first
end
페이지의 표시는left,middle,right로 나뉜다.
필요하면 left와 middle 사이gap("...").
이 코드는윈도우에 있는 +3의 숫자가middle의 첫 페이지보다 작은 경우 가프를 삽입한다고 적혀 있다.
이번에 4페이지를 선택했기 때문에middle의 첫 페이지는 4-1=3,outerwindow+3 = 3, gap 삽입 조건이 충족되지 않습니다.
그래서 2페이지를 포함해 모두 표시됐다.
까닭
이 경우 "..."디스플레이는 1개(2페이지)만 생략할 수 있습니다.
어느 쪽이든 한 글자의 공간이 차지된다는 얘기다.
만약 그렇다면 아무런 기능도 없다페이지 링크 표시는 페이지 링크 표시보다 사용자에게 도움이 됩니다.
따라서 2페이지 이상을 생략할 수 없으면 바로 페이지 링크가 표시됩니다.
끝말
겸사겸사 다른 호출gem(kaminari,pagy),will을 사용해 봤어요.페이지nate의 행동과 같습니다.표준 동작인가 봐요.
Reference
이 문제에 관하여(will_paginate의 window 옵션을 설치하는 중 오류가 발생했습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Sinhalite/items/d0549582e5a5f1337697
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
will_페이지nate에는 View에 표시되는 페이지 링크 범위에 대한 옵션이 있습니다.
outer_첫 페이지와 마지막 페이지 뒤(앞)에 표시되는 페이지 수
inner_표시된 페이지 앞뒤에 표시되는 페이지 수
저는 아웃입니다.0、inner window창을 1로 설정합니다.
따라서 행동은 다음과 같다.
outer_창은 0이며 2페이지와 16페이지는 표시되지 않습니다.
inner_윈도우는 1이기 때문에 현재 페이지의 5페이지 앞뒤 4페이지와 6페이지에 표시됩니다.
예상한 동작과 같다.
그러나 4페이지를 선택할 때는 다음과 같이 동작합니다.
outer_창은 0이며 두 페이지는 표시되지 않습니다.
또한 현재 페이지도 4페이지이기 때문에 앞의 3페이지만 표시하고 2페이지는'...'로 생략해야 한다.
그럼에도 불구하고 두 페이지가 보였다.
코드
will_페이지nate 전선을 보세요.
GiitHub에서 viewhelper 주위의 코드를 확인한 후 다음과 같은 기술이 있습니다.
view_helpers/link_renderer_base.rb# left window
if outer_window + 3 < middle.first # there's a gap
left = (1..(outer_window + 1)).to_a
left << :gap
else # runs into visible pages
left = 1...middle.first
end
페이지의 표시는left,middle,right로 나뉜다.
필요하면 left와 middle 사이gap("...").
이 코드는윈도우에 있는 +3의 숫자가middle의 첫 페이지보다 작은 경우 가프를 삽입한다고 적혀 있다.
이번에 4페이지를 선택했기 때문에middle의 첫 페이지는 4-1=3,outerwindow+3 = 3, gap 삽입 조건이 충족되지 않습니다.
그래서 2페이지를 포함해 모두 표시됐다.
까닭
이 경우 "..."디스플레이는 1개(2페이지)만 생략할 수 있습니다.
어느 쪽이든 한 글자의 공간이 차지된다는 얘기다.
만약 그렇다면 아무런 기능도 없다페이지 링크 표시는 페이지 링크 표시보다 사용자에게 도움이 됩니다.
따라서 2페이지 이상을 생략할 수 없으면 바로 페이지 링크가 표시됩니다.
끝말
겸사겸사 다른 호출gem(kaminari,pagy),will을 사용해 봤어요.페이지nate의 행동과 같습니다.표준 동작인가 봐요.
Reference
이 문제에 관하여(will_paginate의 window 옵션을 설치하는 중 오류가 발생했습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Sinhalite/items/d0549582e5a5f1337697
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# left window
if outer_window + 3 < middle.first # there's a gap
left = (1..(outer_window + 1)).to_a
left << :gap
else # runs into visible pages
left = 1...middle.first
end
이 경우 "..."디스플레이는 1개(2페이지)만 생략할 수 있습니다.
어느 쪽이든 한 글자의 공간이 차지된다는 얘기다.
만약 그렇다면 아무런 기능도 없다페이지 링크 표시는 페이지 링크 표시보다 사용자에게 도움이 됩니다.
따라서 2페이지 이상을 생략할 수 없으면 바로 페이지 링크가 표시됩니다.
끝말
겸사겸사 다른 호출gem(kaminari,pagy),will을 사용해 봤어요.페이지nate의 행동과 같습니다.표준 동작인가 봐요.
Reference
이 문제에 관하여(will_paginate의 window 옵션을 설치하는 중 오류가 발생했습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Sinhalite/items/d0549582e5a5f1337697
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(will_paginate의 window 옵션을 설치하는 중 오류가 발생했습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Sinhalite/items/d0549582e5a5f1337697텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)